Удалить события с помощью Mapquest API

У меня есть проект, когда я создаю одностраничное приложение с backbone.js для мобильной платформы. Мне нужно создать несколько карт между "страницами". Это работает просто отлично, и первая отображаемая карта работает отлично, однако все остальные карты отображаются нормально, но ни одно из событий не работает. То есть я не могу прокрутить. Работает над хромом на столе. Не на iPad.

Глядя на документацию по MQA.TileMap, есть функция dispose, но я думаю, она еще не реализована. Я попытался сбросить карты с помощью MQA.EventManager, но безрезультатно.

Пример: страница 1

<div id="map" style="width: 300px; height: 300px"></div>
<script type="text/javascript">
 var options={
        elt:document.getElementById('map'),       
        zoom:15,                             
                latLng:{lng:longitude, lat: latitude},  
        mtype:'osm',                            
        bestFitMargin:0,                        
        zoomOnDoubleClick:true                  
    };

    /*Construct an instance of MQA.TileMap with the options object*/ 
    window.ReConMap = new MQA.TileMap(options);

    MQA.withModule('smallzoom', function() {
        var basic=new MQA.Poi( {lng:longitude, lat: latitude} );
        window.ReConMap.addShape(basic);
        window.ReConMap.addControl(
            new MQA.SmallZoom(),
            new MQA.MapCornerPlacement(MQA.MapCorner.TOP_LEFT, new MQA.Size(5,5))
        );
    });

</script>

Работает просто отлично. Затем я нажимаю кнопку, которая очищает тело и преформу:

<div id="map2" style="width: 300px; height: 300px"></div>
<script type="text/javascript">

if( window.ReConMap ){
        MQA.EventManager.clearAllListeners( window.ReConMap );
        window.ReConMap = null;
    }
 var options={
        elt:document.getElementById('map2'),       
        zoom:15,                             
                latLng:{lng:longitude, lat: latitude},  
        mtype:'osm',                            
        bestFitMargin:0,                        
        zoomOnDoubleClick:true                  
    };

    /*Construct an instance of MQA.TileMap with the options object*/ 
    window.ReConMap = new MQA.TileMap(options);

    MQA.withModule('smallzoom', function() {
        var basic=new MQA.Poi( {lng:longitude, lat: latitude} );
        window.ReConMap.addShape(basic);
        window.ReConMap.addControl(
            new MQA.SmallZoom(),
            new MQA.MapCornerPlacement(MQA.MapCorner.TOP_LEFT, new MQA.Size(5,5))
        );
    });

</script>

Это отображается просто отлично, но все события прокрутки не работают. (Я нашел, что это работает на Chrome, но не на устройствах Android или iOS)

Я знаю, что это длинный вопрос, но любая помощь будет отличной.

ОБРАТИТЕ ВНИМАНИЕ: Проблема не в отображаемой карте. Только то, что события не работают. Не весь код здесь (exp: longitude а также latitude определены в другом месте)

0 ответов

Другие вопросы по тегам