隐藏/显示谷歌地图directionsService

时间:2012-09-02 19:22:22

标签: google-maps

我使用谷歌地图方向服务在地图上显示公交路线。因为许多路线重叠,我希望能够隐藏和显示然后点击一个复选框。

我真的不确定他们是否可以这样打开/关闭。

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);

            }
        });
}

1 个答案:

答案 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);
    }
}