gpt4 book ai didi

javascript - 删除谷歌地图上渲染的方向路线

转载 作者:行者123 更新时间:2023-11-28 12:24:05 25 4
gpt4 key购买 nike

我尝试在谷歌地图上渲染方向路线,我的问题是,当我尝试获取另一个方向路线时,之前渲染的路线不清楚。我想知道如何重置 map 上的渲染路线。

这是我的代码。

function direction(dest, lat, lng) {

$('#direction').slideUp();
$('#results').slideDown();
$('#dest-direction').val(dest);


$('#direction-form').submit(function () {

var ori = $('#origin-direction').val();

map.setZoom(7);
var currentLatLng = new google.maps.LatLng(lat, lng);
map.setCenter(currentLatLng);

var directionsRenderer = new google.maps.DirectionsRenderer();
directionsRenderer.setMap(map);
directionsRenderer.setPanel(document.getElementById('direction'));

var directionsService = new google.maps.DirectionsService();

/////////////////////
default_unit_system = google.maps.UnitSystem.METRIC;
if (current_unit == "km") {
default_unit_system = google.maps.UnitSystem.METRIC;
} else if (current_unit == "miles") {
default_unit_system = google.maps.UnitSystem.IMPERIAL;
}
/////////////////////

var request = {
origin: ori,
destination: lat+','+lng,
travelMode: google.maps.DirectionsTravelMode.DRIVING,
unitSystem: default_unit_system
};
directionsService.route(request, function (response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsRenderer.setDirections(response);
} else {
//alert('Error: ' + status);
$('#direction').append('<table width="100%"><tr><td>Direction not found. Please try again.</td></tr></table>');
}
});

$('#direction-form').nextAll().remove();
return false;

});

}

最佳答案

我同意 Molle 博士的观点。

不过,有一点对许多叠加层(如标记、信息窗口等)有用:将对象存储在数组中;如果需要,将该数组保留在全局范围内;然后您可以轻松地将它们从 map 上删除。

var renderObjects = [];

function clearRenderObjects() {
for(var i in renderObjects) {
renderObjects[i].setMap(null);
}
}

$('#direction-form').submit(function () {
// clear previous
clearRenderObjects();
...
var directionsRenderer = new google.maps.DirectionsRenderer();
directionsRenderer.setMap(map);
// add to the array
renderObjects.push(directionsRenderer);
...
});

关于javascript - 删除谷歌地图上渲染的方向路线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31933266/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com