使用 gmaps.js 从 google 地图中删除圆圈
Remove circles from google maps with gmaps.js
我使用 gmaps javascript 工具包在标记周围附加了一个圆圈。
ajax调用returns车辆信息,我运行通过一个简单的解析器运行。
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 从圆圈到标记,或者标记移除是否应该移除绑定到它的圆圈?
我很茫然 - 任何帮助将不胜感激。
您要删除所有标记,但我看不到您要从地图上的哪个位置删除圆圈,您可以通过将其地图设置为空来删除它:
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);
我使用 gmaps javascript 工具包在标记周围附加了一个圆圈。
ajax调用returns车辆信息,我运行通过一个简单的解析器运行。
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 从圆圈到标记,或者标记移除是否应该移除绑定到它的圆圈?
我很茫然 - 任何帮助将不胜感激。
您要删除所有标记,但我看不到您要从地图上的哪个位置删除圆圈,您可以通过将其地图设置为空来删除它:
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);