1

モバイル プラットフォーム用の backbone.js を使用して単一ページ アプリケーションを作成しているときに、プロジェクトがあります。「ページ」間にいくつかのマップを作成する必要があります。これは問題なく機能し、表示された最初のマップは完全に機能しますが、他のすべてのマップは正常に表示されますが、どのイベントも機能しません。IEスクロールできません。デスクトップ上のクロムで動作します。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: longitudeandlatitudeは別の場所で定義されています)

4

0 に答える 0