我使用maps api计算了一个具有相同开始和结束点的路线。
因为起点和终点相同,所以第一个标记与最后一个标记重叠。现在我只想删除最后一个标记。
我只知道如何隐藏它们:
directionsDisplay.suppressMarkers = true;
有没有办法循环标记并删除最后一个?
这是我用于指示的代码:
function calcRoute(waypts) {
var start = waypts[0].location;
var end = waypts[0].location;
var request = {
origin:start,
destination:end,
waypoints:waypts,
optimizeWaypoints: true,
provideRouteAlternatives:false,
travelMode:google.maps.TravelMode.DRIVING
};
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.suppressInfoWindows = true;
directionsDisplay.suppressMarkers = true;
directionsDisplay.setDirections(response);
console.log(status);
}else{
alert('SATUS:'+response.status);
}
});
}
答案 0 :(得分:5)
试试这个
初始化
directionsDisplay = new google.maps.DirectionsRenderer({suppressMarkers: true});
然后
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
var route = response.routes[0];
var start =route.legs[0].start_location;
var end =route.legs[0].end_location;
addMarker(end);
addMarker功能
function addMarker(pos){
var marker = new google.maps.Marker({
position: pos,
map: map,
icon: 'images/your image'
}
)
}
我没有测试过这个,但你应该明白这个想法