我知道如何创建自定义标记,但我想做的是创建一个函数,将“From”和“To”标记(或地图上显示的 A 和 B)设置到我单击的任何位置和然后使用新位置更新搜索框。
例如,假设我有一条从 123 Fake Street 到 123 Madeup Lane 的路线,From 和 To 搜索框将分别显示 123 Fake Street 和 123 Madeup Lane。当我运行这个特定的功能时,我希望标记移动并用新的标记位置替换“从”和“到”搜索框。
这可能吗?
我知道如何创建自定义标记,但我想做的是创建一个函数,将“From”和“To”标记(或地图上显示的 A 和 B)设置到我单击的任何位置和然后使用新位置更新搜索框。
例如,假设我有一条从 123 Fake Street 到 123 Madeup Lane 的路线,From 和 To 搜索框将分别显示 123 Fake Street 和 123 Madeup Lane。当我运行这个特定的功能时,我希望标记移动并用新的标记位置替换“从”和“到”搜索框。
这可能吗?
在此处查看此工作示例。单击地图,第一次单击将是您的起点,而第二次单击地图将是目的地点。
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);
});
解决了,如果有人感兴趣的话。