我一直在从事自定义Google地图项目。首先,该项目将显示带有该图标(http://maps.google.com/mapfiles/ms/icons/green-dot.png)的标记。更新信息后,它将图标更改为该颜色(images / yellow.gif)。然后,我注意到几分钟后不再显示标记图标(从.gif加载)。
数据每1分钟使用ajax从数据库中调用一次。我确定从服务器调用了images / yellow.gif(其他数据将仅在图标消失的情况下显示在地图上)。
<script>
var map;
var area = {lat: 5.365722, lng: 100.3158698};
var marker, i;
function initMap(locations) {
map = new google.maps.Map(document.getElementById('map'), {
zoom: 12,
center: area
});
}
getEvent();
function getEvent() {
$.ajax({
type: "POST",
url: 'CallData.php',
data: "",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data1){
updateMap(data1);
},
complete: function (data1) {
setTimeout(getEvent, 1000);
console.log(data1);
}
});
}
markersarray = [];
function updateMap(locations) {
var infowindow = new google.maps.InfoWindow();
for (var i=0; i<locations.length; i++)
{
marker = new google.maps.Marker({
position: new google.maps.LatLng(locations[i][2], locations[i][3]),
map: map,
icon : locations[i][0]
});
markersarray.push(marker);
google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
infowindow.setContent(locations[i][1]);
infowindow.open(map, marker);
}
})(marker, i));
}
}
</script>
从数据库成功获取所有信息。其他信息将更新标记示例的位置和时间。该图标将在几分钟后获得更新的信息(yellow.gif),它将变为默认的绿色(http://maps.google.com/mapfiles/ms/icons/green-dot.png)。