【问题标题】:Remove vehicle information for transit routes in google maps api在 google maps api 中删除公交路线的车辆信息
【发布时间】:2013-12-12 09:21:15
【问题描述】:

我使用 Google Maps API 的 Transit 层创建了一个应用程序。我的应用程序页面如下所示: 当我创建路线时,我得到了两件我想从地图上删除的东西。 1) 我使用 suppressMarkers 成功删除的标记 A B。

2)图片中的白色信息窗口为我提供了有关使用的路线类型和使用的服务的信息,可以在this 链接中看到。 就像我要删除的显示 Mumbai CST-Kalyan 的窗口

我找不到如何删除它们。请指导。

【问题讨论】:

  • 你试过suppressInfoWindows吗?
  • @geocodezip :我尝试使用suppressInfoWindows,但它仍然没有删除信息窗口。我这样做了:'var directionDisplay = new google.maps.DirectionsRenderer(({suppressMarkers: true , suppressInfoWindows: true} ));'
  • 这不是信息窗口,而是交通信息。我不相信它可以被删除,除非你自己渲染路线。
  • 如果不将其完全删除,是否可以使其不可见。我无法找到它的名称,以便找出原点。请指导。
  • I don't believe it can be removed unless you render the route yourself. 不清楚呢?如果您不使用DirectionsRenderer 并且您自己渲染了路线,则您必须编写代码以使其显示。 Example of custom directions rendering

标签: javascript google-maps google-maps-api-3


【解决方案1】:

如果你像这个例子一样渲染你自己的方向,那些不会出现。

  function calcRoute() {
    polyline.setMap(null);
    var start = document.getElementById("search1").value;
    var end =  document.getElementById("search2").value;
    var request = {
      origin: start,
      destination: end,
      travelMode: getSelectedTravelMode()
    };

    polyline = new google.maps.Polyline({
      path: [],
      strokeColor: '#FF0000',
      strokeWeight: 3
    });

    directionsService.route(request, function(response, status) {
      if (status == google.maps.DirectionsStatus.OK) {
        var bounds = new google.maps.LatLngBounds();
        var route = response.routes[0];
        var summaryPanel = document.getElementById("directions_panel");
        var detailsPanel = document.getElementById("direction_details");
        startLocation = new Object();
        endLocation = new Object();

        summaryPanel.innerHTML = "";
        detailsPanel.innerHTML = '<ul>';

        // For each route, display summary information.
        for (var i = 0; i < route.legs.length; i++) {
          var routeSegment = i + 1;
          summaryPanel.innerHTML += "<b>Route Segment: " + routeSegment + "</b><br />";
          summaryPanel.innerHTML += route.legs[i].start_address + " to ";
          summaryPanel.innerHTML += route.legs[i].end_address + "<br />";
          summaryPanel.innerHTML += route.legs[i].distance.text + "<br /><br />";
        }
    var path = response.routes[0].overview_path;
    var legs = response.routes[0].legs;
        for (i=0;i<legs.length;i++) {
          if (i == 0) { 
            startLocation.latlng = legs[i].start_location;
            startLocation.address = legs[i].start_address;
            createMarker(legs[i].start_location,"start",legs[i].start_address,"green");
          }
          endLocation.latlng = legs[i].end_location;
          endLocation.address = legs[i].end_address;
          var steps = legs[i].steps;
          for (j=0;j<steps.length;j++) {
            var nextSegment = steps[j].path;
            detailsPanel.innerHTML += "<li>"+steps[j].instructions;
            var dist_dur = "";
            if (steps[j].distance && steps[j].distance.text) dist_dur += "&nbsp;"+steps[j].distance.text;
            if (steps[j].duration && steps[j].duration.text) dist_dur += "&nbsp;"+steps[j].duration.text;
            if (dist_dur != "") {
              detailsPanel.innerHTML += "("+dist_dur+")<br /></li>";
            } else {
              detailsPanel.innerHTML += "</li>";

            }
            for (k=0;k<nextSegment.length;k++) {
              polyline.getPath().push(nextSegment[k]);
              bounds.extend(nextSegment[k]);
            }
          }
        }

        detailsPanel.innerHTML += "</ul>"
        polyline.setMap(map);
        map.fitBounds(bounds);
        createMarker(endLocation.latlng,"end",endLocation.address,"red");
        // == create the initial sidebar ==
        makeSidebar();

      }
    });
}

【讨论】:

    猜你喜欢
    • 2013-02-12
    • 2013-02-25
    • 1970-01-01
    • 2015-11-27
    • 1970-01-01
    • 2011-02-25
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    相关资源
    最近更新 更多