3

標準のGoogleマップ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 の別の標準的な緑色のマーカーが表示されます。

それを上書きする方法は?

4

1 に答える 1

3

あなたがする必要があるのは、DirectionsRendererのsuppressMarkersオプションを使用することです。これにより、マーカーが追加されなくなります。

DirectionsRenderer をまったく使用しないカスタム アイコンの例です。これは、そのオプションが利用可能になる前のものです。

于 2012-11-17T15:46:50.680 に答える