0

PhonegapアプリケーションでGoogleマップを表示するためにGooglegmapAPIを使用しています。gmapは正常に機能しています。

しかし、私の要件は、ユーザーの選択に従ってマーカーを変更することであり、最初はすべてのマーカーを表示しています。2回目以降は、ユーザーの選択に応じて表示する必要があります。Jsonデータを使用しています

以下はGmapコードです。

function showMap(data) {
    $('#map_canvas').gmap(
                        { 'center' : initialLocation,
                          'zoom' : 12,
                          'mapTypeControl' : false,
                          'navigationControl' : false,
                          'streetViewControl' : false
                        })
                        .bind('init', function(evt, map) {
                            if (data.Response.ShopListInfo instanceof Array) {
                                 $.each( data.Response.ShopListInfo, function(i, marker) {
                                              latitude = marker.Latitude;
                                              longitude = marker.Longitude; 
                                              displayMarkers(latitude, longitude, marker);
                                 });
                            }else{
                                latitude = data.Response.ShopListInfo.Latitude;
                                longitude = data.Response.ShopListInfo.Longitude; 
                                displayMarkers(latitude, longitude, data.Response.ShopListInfo);
                            }
                }); 
}

問題は、2回目の呼び出し以降です。「bind」メソッドが実行されていません。

4

1 に答える 1

0

2回目以降はマーカーをクリアし、以下のようにaddMarkersメソッドを個別に呼び出す必要があります。

$('#map_canvas').gmap('clear', 'markers');
                if (data.Response.ShopListInfo instanceof Array) {
                    $.each( data.Response.ShopListInfo, function(i, marker) {
                          latitude = marker.Latitude;
                             longitude = marker.Longitude; 
                             displayMarkers(latitude, longitude, marker);
                    });
                }else{
                    latitude = data.Response.ShopListInfo.Latitude;
                    longitude = data.Response.ShopListInfo.Longitude; 
                    displayMarkers(latitude, longitude, data.Response.ShopListInfo);
                }
于 2013-02-06T11:51:55.620 に答える