【问题标题】:Google maps, insert pin based on input and make it draggable谷歌地图,根据输入插入图钉并使其可拖动
【发布时间】:2017-06-22 12:10:44
【问题描述】:

所以我有一张地图和一个表格,一旦用户填写地址 + 邮政编码,它就会在地图上放置一个标记,但是我想让它可拖动并保持 lat 和 long 的值。

由于某种原因,我无法移动标记,为什么?

JS:

function initMap() {
        var map = new google.maps.Map(document.getElementById('map'), {
          zoom: 8,
          center: {lat: -34.397, lng: 150.644}
        });
        var geocoder = new google.maps.Geocoder();

        document.getElementById('postcode').addEventListener('blur', function() {

          geocodeAddress(geocoder, map);
        });
      }

      function geocodeAddress(geocoder, resultsMap) {
        var address = document.getElementById('address2').value +','+ document.getElementById('postcode').value;
        console.log(address);
        geocoder.geocode({'address': address}, function(results, status) {
          if (status === 'OK') {
            resultsMap.setCenter(results[0].geometry.location);
            var marker = new google.maps.Marker({
              map: resultsMap,
              position: results[0].geometry.location,
              title: address,
              draggable:true,
            });
                google.maps.event.addListener(marker, 'dragend', function(marker){
        var latLng = marker.latLng; 
        currentLatitude = latLng.lat();
        currentLongitude = latLng.lng();
        jQ("#latitude").val(currentLatitude);
        jQ("#longitude").val(currentLongitude);
                });
          } else {
            alert('Geocode was not successful for the following reason: ' + status);
          }
        });
      }

【问题讨论】:

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


【解决方案1】:

您应该在窗口级别声明 var 映射

var map;

function initMap() {
    map = new google.maps.Map(document.getElementById('map'), {
.....

然后在你的 geocodeAddress 函数中你应该参考地图标记地图

         var marker = new google.maps.Marker({
          map: map,
          position: results[0].geometry.location,
          title: address,
          draggable:true,
        });

查看您的代码,不应将标记放在地图上,因为您参考了 resultsMap

【讨论】:

  • 这是一个新问题,或者我不明白你的原始问题???' ..您最初的问题似乎与您不移动标记的事实有关..我认为我的回答应该可以解决问题..
  • 对不起,我在想别的东西,如果你添加一个新的标记,即使它没有被拖动,你能把它的长和纬度吗?
  • 是的..但是请...为此发布一个新问题并最终评论我的新链接..并将我的回答评价为正确
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-17
  • 1970-01-01
  • 2015-05-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多