0

こんにちは、sencha touch v.2.2.1 Google マップにマーカーを追加しようとしています。地図は見えますが、マーカーは見えません。必要なライブラリも追加しました: <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script>

config: {
    items: [{
        xtype: 'map',
        itemId: 'mapHomeView',
        width: Ext.os.deviceType == 'Phone' ? null : 1500,
        height: Ext.os.deviceType == 'Phone' ? null : 350,
        useCurrentLocation: true,
        listeners: {
        maprender: function(extMapComponent, googleMapComp){
            var marker = new google.maps.Marker({
                title: 'test',
                position: new google.maps.LatLng (49.279989, -123.126333),
                map: Ext.ComponentQuery.query('#mapHomeView')[0].map,
                // map: googleMapComp,
            });

            marker.setMap(Ext.ComponentQuery.query('#mapHomeView')[0].map);
        }
    }]
}

アプリをテストするために、Google chromeを使用しています。設定で位置情報のリクエストを有効にしました。

行 map: ... もコメント付きの map: ... 行も機能していません。

4

1 に答える 1

0

これで私の問題は解決しました。私は sencha touch の例でそれを見つけました:

config: {
    control: {
        'map[itemId="mapHomeView"]': {
            maprender: 'mapHomeViewMapRenderer'
        }
    }
},

mapHomeViewMapRenderer: function(comp, map) {
    var map = Ext.ComponentQuery.query('#mapHomeView')[0].getMap();

    var image = new google.maps.MarkerImage(
        'resources/images/point.png',
        new google.maps.Size(32, 31),
        new google.maps.Point(0, 0),
        new google.maps.Point(16, 31)
    );

    var shadow = new google.maps.MarkerImage(
        'resources/images/shadow.png',
        new google.maps.Size(64, 52),
        new google.maps.Point(0, 0),
        new google.maps.Point(-5, 42)
    );

    var position = new google.maps.LatLng(49.279989, -123.126333);

    var marker = new google.maps.Marker({
        position: position,
        title: 'test',
        shadow: shadow,
        icon: image,
        map: map
    });
},
于 2013-07-09T23:41:51.447 に答える