【问题标题】:Google Maps API V3 - Move "From" and "To" markers and repopulate search fieldGoogle Maps API V3 - 移动“From”和“To”标记并重新填充搜索字段
【发布时间】:2023-03-28 12:25:01
【问题描述】:
我知道如何创建自定义标记,但我想做的是创建一个函数,将“From”和“To”标记(或地图上显示的 A 和 B)设置到任何位置我单击然后使用新位置更新搜索框。
例如,假设我有一条从 123 Fake Street 到 123 Madeup Lane 的路线,“From”和“To”搜索框将分别显示 123 Fake Street 和 123 Madeup Lane。当我运行这个特定功能时,我希望标记移动并用新的标记位置替换“从”和“到”搜索框。
这可能吗?
【问题讨论】:
标签:
javascript
google-maps
google-maps-api-3
google-maps-markers
【解决方案1】:
看看这个工作示例HERE。点击地图,第一次点击为起点,第二次点击地图为终点。
【解决方案2】:
google.maps.event.addListenerOnce(map, 'click', function(event){
var fromLat = event.latLng.lat();
var fromLong = event.latLng.lng();
var markLatLng = new google.maps.LatLng(fromLat, fromLong);
var marker = new google.maps.Marker({
position: markLatLng,
map: map
});
document.getElementById('field_from').value = markLatLng;
var start = document.getElementById('field_from').value
var end = document.getElementById('field_to').value;
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);
}
});
markersArray.push(marker);
});
解决了,如果有人感兴趣的话。