jem*_*emz 3 javascript google-maps google-maps-api-3
每当我向服务器请求获取设备的新位置并更新我的标记在地图上的位置时,我的标记都有问题,当我的车辆设备移动时,标记将跳转到新位置并且其闪烁.如何避免闪烁,或者我的Marker可以顺利移动.
先感谢您.
var map;
var marker;
var markerarray =[];
setInterval(function(){
$.ajax({
type: "post",
url: "vehiclecordinates.php",
success: function(data){
coordinates = data.latlng;
vehiclename = data.vehiclename;
for (var i = 0; i < coordinates.length; i++) {
newcoordinate = new google.maps.LatLng(coordinates[i].split(",")[0],coordinates[i].split(",")[1]);
marker = new MarkerWithLabel({
map:map,
labelClass: "mylabels",
labelStyle: {opacity: 1.0},
labelContent: '<div>'+ vehiclename[i]+'</div>',
icon:{
//some options here
},
});
marker.setPosition(newcoordinate);
markerarray.push(marker);
}
}
});
setTimeout(function () {
removeMarkers();
delete marker;
}, 1000);
},5000);
function removeMarkers() {
for(var i = 0; i < markerarray.length; i++) {
markerarray[i].setMap(null);
}
}
Run Code Online (Sandbox Code Playgroud)
如果您不希望它们闪烁,请不要从地图中"删除"它们,更新它们的位置.
var map;
var marker;
var markerarray =[];
setInterval(function(){
$.ajax({
type: "post",
url: "vehiclecordinates.php",
success: function(data){
coordinates = data.latlng;
vehiclename = data.vehiclename;
for (var i = 0; i < coordinates.length; i++) {
newcoordinate = new google.maps.LatLng(coordinates[i].split(",")[0],coordinates[i].split(",")[1]);
if (markerarray[vehiclename[i]] && markerarray[vehiclename[i]].setPosition){
markerarray[vehiclename[i]].setPosition(newcoordinate);
else {
marker = new MarkerWithLabel({
map:map,
labelClass: "mylabels",
labelStyle: {opacity: 1.0},
labelContent: '<div>'+ vehiclename[i]+'</div>',
icon:{
//some options here
}
});
marker.setPosition(newcoordinate);
markerarray[vehiclename[i]] = marker;
}
}
}
});
},5000);
Run Code Online (Sandbox Code Playgroud)