我使用gmaps javascript工具包在标记周围添加了一个圆圈。
ajax调用返回车辆信息,我通过一个简单的解析器运行它。
var status_text = "";
var records = result.split("*");
var len = records.length - 1;
for (var i = 0; i < len; ++i) {
var record = records[i].split("|");
var lll = new google.maps.LatLng(record[4], record[5]);
var m = current_map.addMarker({
lat: record[4],
lng: record[5],
title: "Vehicle :" + record[2],
labelStyle: { opacity: 0.50 },
icon: image
});
var c = current_map.drawCircle({
strokeColor: '#000000',
strokeOpacity: 0.4,
strokeWeight: 2,
fillColor: '#c3fc49',
fillOpacity: 0.15,
radius: eval(record[18]) * 2
});
c.bindTo('center', m, 'position');
我有一个需要删除的计时器设置,并重新绘制标记以及相关的圆圈。
代码正在尝试
var VehicleTicketMovementTimer = setInterval(function (){
var x = current_map.markers.length;
for (var i = 0; i < x; i++) {
current_map.removeMarker(i);
}
GetOpenServiceOrders();
GetLatestVehicleStatus2();
}, 10000);
看起来圆圈变得更加稳固,好像它没有被擦除,如果车辆正在行驶,标记将移动而没有路径,但是圆圈将在新位置绘制,没有删除上一个圈子。
我是否需要将bindTo从圆圈分解为标记,或者标记删除是否应删除绑定到它的圆圈?
我不知所措 - 任何帮助都会受到赞赏。
答案 0 :(得分:1)
您正在移除所有标记,但我看不到您从地图中删除圆圈的位置,您可以通过将其地图设置为null来删除它:
var VehicleTicketMovementTimer = setInterval(function () {
var x = current_map.markers.length;
for (var i = 0; i < x; i++) {
current_map.removeMarker(i);
}
c.setMap(null); //Add this line.
//if the above does not work, try this:
c.remove();
GetOpenServiceOrders();
GetLatestVehicleStatus2();
}, 10000);