0

我正在使用 Google gmap API 在我的 Phonegap 应用程序中显示 Google 地图。gmap 工作正常。

但是,我的要求是根据用户选择更改标记,首先我显示所有标记。从第二次开始,我需要根据用户的选择显示。我正在使用 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);
                            }
                }); 
}

问题是从第二次调用开始“绑定”方法没有执行。

4

1 回答 1

0

我们只需要从第二次开始清除标记并单独调用 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 回答