0
我有一個谷歌地圖,我使用不同的數據點列表繪製多個路徑。假設在谷歌地圖上創建路線後,我需要刪除多條路線中的特定路線。我已經看到使用Setmap(null)
方法的解決方案,但它會清除所有路由。下面是不同的數據來源,我使用DrawRoute
方法通過傳遞個別來源。現在我需要刪除DataSource1路由。如何從谷歌地圖使用jquery刪除特定路徑
var dataSource1 = [{
"title": 'Duero',
"lat": '40.480243',
"lng": '-3.866172',
"description": 'This is Duero'
}, {
"title": 'Reyes Catolicos',
"lat": '40.47806',
"lng": '-3.870937',
"description": 'This is Reyes Catolicos'
}, {
"title": 'Guadarrama',
"lat": '40.478998',
"lng": '-3.878755',
"description": 'This is Guadarrama'
}];
var dataSource2 = [{
"title": 'Duero',
"lat": '40.460243',
"lng": '-3.866172',
"description": 'This is Duero'
}, {
"title": 'Reyes Catolicos',
"lat": '40.45806',
"lng": '-3.870937',
"description": 'This is Reyes Catolicos'
}, {
"title": 'Guadarrama',
"lat": '40.438998',
"lng": '-3.878755',
"description": 'This is Guadarrama'
}];
function DrawRoute(routeData, pathColor)
{
for (var i = 0; i < routeData.length; i++) {
if ((i + 1) < routeData.length) {
var src = new google.maps.LatLng(parseFloat(routeData[i].lat),
parseFloat(routeData[i].lng));
createMarker(src);
var des = new google.maps.LatLng(parseFloat(routeData[i + 1].lat),
parseFloat(routeData[i + 1].lng));
createMarker(des);
// poly.setPath(path);
service.route({
origin: src,
destination: des,
travelMode: google.maps.DirectionsTravelMode.DRIVING
}, function (result, status) {
if (status == google.maps.DirectionsStatus.OK) {
var path = new google.maps.MVCArray();
var poly = new google.maps.Polyline({
map: map,
strokeColor: pathColor
});
for (var i = 0, len = result.routes[0].overview_path.length; i < len; i++) {
path.push(result.routes[0].overview_path[i]);
}
poly.setPath(path);
map.fitBounds(bounds);
}
});
}
}
請提供[最小,完整,測試和可讀示例](http://stackoverflow.com/help/ mcve),演示您正在嘗試執行的操作,包括一些示例/測試數據。你打算如何去除路線? – geocodezip
在我看來像poly.setMap(null)將只清除最後一個路徑。 – geocodezip
我已經更新了我的問題。請看看,並建議我將通過一個數據源,並應該刪除 – user1770461