首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >谷歌地图-获取拖拽标记的坐标

谷歌地图-获取拖拽标记的坐标
EN

Stack Overflow用户
提问于 2011-01-04 22:05:17
回答 3查看 10K关注 0票数 1

我正在使用这个优秀的jquery插件来处理google地图:

http://googlemaps.mayzes.org/

我使用的是“地图标记拖动”的例子。

拖动标记后,如何获得标记的新/当前坐标?

谢谢

EN

回答 3

Stack Overflow用户

发布于 2011-01-04 22:12:46

我写了一个项目来做这个,它使用Google Maps API的版本2。下面是制作可拖动标记的代码片段,在您将其拖动到地图上的新位置后,该标记将显示经度/经度:

代码语言:javascript
运行
复制
            function createMarker(latlng, number, html) {
                var marker = new GMarker(latlng, {draggable: true});
                marker.value = number;
                    var myHtml = html;
                    var center = marker.getLatLng();
                    map.openInfoWindowHtml(latlng, "<font color=black>" + myHtml + "<br>" + center.toString() + "</font>");
                GEvent.addListener(marker, "dragstart", function() {
                    map.closeInfoWindow();
                });
                GEvent.addListener(marker, "dragend", function() {
                    var center = marker.getLatLng();
                    marker.openInfoWindowHtml("<font color=black>" + myHtml + "<br>" + center.toString() + "</font>");
                });
                return marker;
            }
票数 3
EN

Stack Overflow用户

发布于 2012-05-26 07:32:04

使用javascript和google maps API尝试如下所示:

代码语言:javascript
运行
复制
// update element with latest lat and lon
function updateMarkerPosition(latLng) {
  document.getElementById('ll').value = [
    latLng.lat(),
    latLng.lng()
  ].join(', ');
}

function initialize() {
  // look for any lat lon in url, to set map center
  if ($.urlParam('ll')) {
    var llparam = $.urlParam('ll').split(', ');
    var lat = parseFloat(llparam[0]);
    var lon = parseFloat(llparam[1]);
    var latLng = new google.maps.LatLng(lat, lon);
  } else {
    var latLng = new google.maps.LatLng(47.65130629733119, -122.34994607543945);
  }

  var map = new google.maps.Map(document.getElementById('mapCanvas'), {
    zoom: 12,
    center: latLng,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  });

  var marker = new google.maps.Marker({
    position: latLng,
    map: map,
    draggable: true
  });

  // Update current position info.
  updateMarkerPosition(latLng);

  // Add dragging event listeners.

  google.maps.event.addListener(marker, 'drag', function() {
    updateMarkerPosition(marker.getPosition());
  });
}
票数 2
EN

Stack Overflow用户

发布于 2011-01-04 22:10:39

您可以访问标记.latLng()以获取任何标记的坐标。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4594462

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档