Google Maps API V3 - 移动“从”和“到”标记并重新填充搜索字段

时间:2013-03-19 20:42:11

标签: javascript google-maps google-maps-api-3 google-maps-markers

我知道如何创建自定义标记,但我想要做的是创建一个函数,将“From”和“To”标记(或A和B,因为它们在地图上显示)设置到哪里我单击,然后使用新位置更新搜索框。

例如,假设我有一条从123 Fake Street到123 Madeup Lane的路线,From和To搜索框分别表示123 Fake Street和123 Madeup Lane。当我运行此特定功能时,我希望标记移动并用新标记位置替换“From”和“To”搜索框。

这可能吗?

2 个答案:

答案 0 :(得分:1)

看看这个工作示例HERE。点击地图,第一次点击将是您的起点,而第二次点击地图将是目的地点。

答案 1 :(得分:0)

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);

                });

解决了它,如果有人有兴趣的话。