我有多个latlng。
var latlngs = [
{lat:25.774252,lng:-80.190262},
{lat:18.466465,lng:-66.118292},
{lat:32.321384,lng:-64.757370},
{lat:25.774252,lng:-80.190262},
];
实际上,它是使用ajax响应从数据库中检索的:
$.ajax({
url: "getLatlng.php",
type: 'post',
dataType: 'json',
success: function(response) {
for (i = 0; i < response.length; i++) {
// what should be the code here for plotting them on google maps
}
},
error: function(xhr){
console.log(xhr);
}
});
我希望他们在谷歌地图上绘图,每当我从数据库中更改其中一个latlng时,也应该更改标记而不使用setInterval重新加载页面。这实际上是针对gps跟踪的。我需要帮助。 任何帮助表示赞赏。
答案 0 :(得分:1)
var marker=[];
$.ajax({
url: "getLatlng.php",
type: 'post',
dataType: 'json',
success: function(response) {
for (i = 0; i < response.length; i++) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(lat, long),
map: map,
address: "Something here",
icon: 'http://maps.google.com/mapfiles/ms/icons/red-dot.png'
});
google.maps.event.addListener(marker, 'click', function () {
// Update Info Window Here
});
}
},
error: function(xhr){
console.log(xhr);
}
});
希望您在ajax调用之前初始化了地图和标记 要更新标记,您必须先从地图中删除所有标记
以下是删除标记的功能
function DeleteMarkers() {
for (var i = 0; i < marker.length; i++) {
marker[i].setMap(null);
}
marker = [];
};
在Ajax Call之前调用函数