返回隐藏字段的标记位置

Google Maps API Returning marker position to hidden fields

本文关键字:位置 隐藏 字段 返回      更新时间:2023-09-26

我试图让用户标记他们的位置,我使用下面的代码来获取用户的邮政编码并放大他们的社区,但我不知道如何获得标记坐标。

我见过一些使用actionlistener的例子,比如下面这个,但是它不起作用。

 google.maps.event.addListener(
        marker,
        'drag',
        function() {
            document.getElementById('lat').value = marker.position.lat();
            document.getElementById('lng').value = marker.position.lng();
        }
    );

    var localSearch;
    var map;
    var icon;
    var addressMarkerOptions;
    google.load("search", "1");
    google.load("maps", "2");
    google.setOnLoadCallback(initialize);
    function initialize()
    {
      localSearch = new GlocalSearch();
      icon = new GIcon(G_DEFAULT_ICON);
      addressMarkerOptions = { icon:icon , map: map ,draggable: true};
      map = new GMap2(document.getElementById("map"));
      map.addControl(new GLargeMapControl());
      map.addControl(new GMapTypeControl());
      plotAddress("M13 0JN");
    }
    /**
    * This takes either a postcode or an address string
    *
    */
    function plotAddress(address)
    {
      localSearch.setSearchCompleteCallback(null, 
        function() {
          if (localSearch.results[0])
          {     
            var resultLat = localSearch.results[0].lat;
            var resultLng = localSearch.results[0].lng;
            var point = new GLatLng(resultLat,resultLng);
            var marker = new GMarker(point, addressMarkerOptions);
            map.addOverlay(marker);
            map.setCenter(point, 15, G_NORMAL_MAP);
          }
          else
          {
            alert('address not found');
          }
        });
      localSearch.execute(address + ", UK");
    }
document.getElementById('lat').value = marker.getLatLng().lat();
document.getElementById('lng').value = marker.getLatLng().lng();

一个优秀的教程将向您展示如何做到这一点(以及更多)是张贴在这里…

参见步骤8添加标记。

顺便说一句,你正在使用旧版本/现在已弃用的谷歌地图API…