0
即時創建一個路線淋浴與地理編碼和反向地理編碼。 工作得很好,但是當我想拖動標記時,我想用更新的地址更新正確的輸入。問題在於我無法擺脫起點和終點。使用下面的代碼,如果我只有1點它正確地更新開始地址,但添加另一個點後,他們都開始更新相同的輸入。 (不知道我是否有一個好主意來區分他們的屬性 - 我將這些點添加到數組,並根據它的長度,它應該添加屬性目的地'開始'或'停止'。好像添加第二個標記後更新前一個目標值)。區分標記地圖api v3
function placeMarker(location) {
if(list.length < 2) {
marker = new google.maps.Marker({
position: location,
map: map,
draggable:true,
animation: google.maps.Animation.DROP,
destination: 'start'
});
map.setCenter(location);
list.push(marker);
if (list.length == 2) {
list[1].destination = 'stop';
};
geocoder.geocode({'latLng': location}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (results[0]) {
if(list.length == 1) {
$('#start').val(results[0].formatted_address);
} else {
$('#end').val(results[0].formatted_address);
}
}
}
});
}
if (list.length == 2) {
drawRoute(list[0].getPosition(), list[1].getPosition());
};
google.maps.event.addListener(marker, 'drag', function(event) {
console.log(marker.destination);
geocoder.geocode({'latLng': marker.getPosition()}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (marker.destination == 'start') {
$("#start").val(results[0].formatted_address);
} else {
$("#end").val(results[0].formatted_address);
}
}
});
});
};
謝謝你的幫助!