我正在使用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);
}
});
}
问题来自第二次调用Onwards“bind”方法没有执行。
答案 0 :(得分: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);
}