私は、ユーザーが画面上の目的地のマーカーをドラッグし、期間と目的地の入力フィールドを自動的に更新するWebアプリケーションを開発しています。私は起点と目的地の座標のフィールドにも入れて、スクリーンマーカーをドラッグしたときにもそれらを更新したいと思います。私はちょうどそれらの値をつかむ場所を知らない。ここにコードがあります:Googleマップの地図上でマーカー(ドラッグ可能な方向)をドラッグすると更新された座標を表示する方法javascript?
<div id="map" style="width: 400px; height: 300px;"></div>
Duration: <input id="duration"></div>
Distance: <input id="distance"></input>
Origin Longitude <input id="origin_longitude"></input>
Origin Latitude <input id="origin_latitude"></input>
Destination Longitude <input id="destination_longitude"></input>
Destination Latitude <input id="destination_latitude"></input>
<div>
<script type="text/javascript">
function initialize() {
var directionsService = new google.maps.DirectionsService();
var directionsDisplay = new google.maps.DirectionsRenderer({
draggable: true
});
var myOptions = {
zoom: 7,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById("map"), myOptions);
directionsDisplay.setMap(map);
var request = {
origin: new google.maps.LatLng(51.403650, -1.323252),
destination: new google.maps.LatLng(51.403650, -1.323252),
travelMode: google.maps.DirectionsTravelMode.DRIVING
};
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
google.maps.event.addListener(directionsDisplay, 'directions_changed', function() {
directions = directionsDisplay.getDirections();
// Display the distance:
document.getElementById('distance').value =
directions.routes[0].legs[0].distance.value + " meters";
// Display the duration:
document.getElementById('duration').value =
directions.routes[0].legs[0].duration.value + " seconds";
})
} else {
alert("directions request failed:" + status)
}
});
}
google.maps.event.addDomListener(window, "load", initialize);
</script>
あなたは私に私のコード内の例をしてください与えることができますそれが本当に助けになるでしょう。 –
デフォルトのマーカーを非表示にしてカスタムマーカーを作成して、イベントを聞く必要があるようです。 http://googlemaps.googlermania.com/google_maps_api_v3/en/map_example_direction_customicon.html – user4617883