我使用谷歌地图方向服务在地图上显示公交路线。因为许多路线重叠,我希望能够隐藏和显示然后点击一个复选框。
我真的不确定他们是否可以这样打开/关闭。
function fiveCLine(source,destination,waypoints){
// show route between the points
directionsService = new google.maps.DirectionsService();
directionsDisplay = new google.maps.DirectionsRenderer(
{
suppressMarkers: false,
suppressInfoWindows: true,
polylineOptions: { strokeColor: '#0093f0', strokeOpacity: 1 },
preserveViewport: true,
markerOptions : {icon: 'bus5c.png'}
});
directionsDisplay.setMap(map);
var request = {
origin:source,
destination:destination,
waypoints:waypoints,
travelMode: google.maps.DirectionsTravelMode.DRIVING
};
directionsService.route(request, function(response, status)
{
if (status == google.maps.DirectionsStatus.OK)
{
directionsDisplay.setDirections(response);
}
});
}
答案 0 :(得分:0)
这可以使用setMap()
类的google.maps.DirectionsRenderer
方法完成。来自Google文档:此方法指定将在哪些方向上呈现的地图。通过null
以从地图中删除路线。
例如,我使用按钮来切换路径:
function initialize() {
directionsDisplay = new google.maps.DirectionsRenderer();
...
directionsDisplay.setMap(map);
...
var hideShowBtn = document.getElementById('togglePath');
google.maps.event.addDomListener(hideShowBtn, 'click', hideShowPath);
}
function hideShowPath() {
if (directionsDisplay.getMap()) {
directionsDisplay.setMap(null);
} else {
directionsDisplay.setMap(map);
}
}