Google地图API v3方向的自定义图标

时间:2012-11-17 11:32:00

标签: google-maps-api-3

我知道如何更改标准谷歌地图api v3上的图标。 有没有办法在地图上用方向更改图标?

<script type="text/javascript">
  var directionDisplay;
  var directionsService = new google.maps.DirectionsService();
  var map;

  function initialize(){
    directionsDisplay = new google.maps.DirectionsRenderer();
    var mapOptions={
      center: new google.maps.LatLng(-34.397, 150.644),
      zoom: 11,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };

    var map = new google.maps.Map(document.getElementById("map_canvas"),mapOptions);
      directionsDisplay.setMap(map);
      directionsDisplay.setPanel(document.getElementById("directionsPanel")
    );

    var marker = new google.maps.Marker({
      position: map.getCenter(),
      map: map,
      icon: 'marker/image.png',
      title: 'Click to zoom'
    });

    google.maps.event.addListener(marker, 'click', function(){
      map.setZoom(15);
      map.setCenter(marker.getPosition());
    });

    google.maps.event.addDomListener(window, 'load', initialize);
  }

  function calcRoute() {
    var start = document.getElementById("start").value;
    var end = '-34.397, 150.644';
    var request = {
        origin:start, 
        destination:end,
        travelMode: google.maps.DirectionsTravelMode.DRIVING
    };
    directionsService.route(request, function(response, status) {
      if (status == google.maps.DirectionsStatus.OK) {
        directionsDisplay.setDirections(response);
      }
    });
  }
</script>

上面的代码显示地图上有我的自定义图标标记但是当我生成方向而不是我的自定义标记时,我看到另一个带字母B的标准绿色制造商。

如何覆盖?

1 个答案:

答案 0 :(得分:3)

您需要做的是使用DirectionsRenderer的suppressMarkers选项,以防止它添加任何标记。

Example with custom icons,完全没有使用DirectionsRenderer,而是在该选项可用之前。