2016-04-01 10 views
-1

奇妙な問題があります。私は様々なマーカーでマップを設定しています。 infoWindow上でクリックすることで、onClickをトリガーする「道順を取得する」ことができます。最初のルートgetは正しく表示されますが、別のマーカーをクリックして方向を尋ねると...前回のルートは地図からクリアされません新しいものが描かれますGoogleマップ上の明確な方向のルート

私はすでに何かを試しました、より具体的には、このstackoverflow questionで提供されたソリューションが何も動作するようです。あなたは、私は新しいものが描かれてしまった前...前のルートがマップから消去されていなかったそうだものを見ることができます

function getDirections(id) { 

     var directionsDisplay = new google.maps.DirectionsRenderer; 
     var directionsService = new google.maps.DirectionsService; 

     var start = document.getElementById('pos1').innerHTML; 
     var end = document.getElementById('pos'+id).innerHTML; 

     end = end.slice(0, -1); 
     end = end.substring(1); 

     directionsDisplay.setMap(null); 
     directionsDisplay.setMap(map); 
     directionsDisplay.setPanel(document.getElementById('directions')); 

     directionsService.route({ 
      origin: start, 
      destination: end, 
      travelMode: google.maps.TravelMode.DRIVING 
     }, function(response, status) { 
      if (status === google.maps.DirectionsStatus.OK) { 
       directionsDisplay.setDirections(response); 
       console.log(response); 
      } else { 
       window.alert('Directions request failed due to ' + status); 
      } 
     }); 

     disableMovement(false); 
     infoWindow.close(); 

     var control = document.getElementById('directions'); 
     control.style.display = 'block'; 
     map.controls.push(control); 
    } 

そして、この画像上:

私のコードはこれです。

enter image description here

答えて

0

誰もが将来的にそれを必要とする場合の答えは...

これら:

var directionsDisplay = new google.maps.DirectionsRenderer; 
    var directionsService = new google.maps.DirectionsService; 

は、クリックイベントの外でなければなりません。

関連する問題