【问题标题】:Getting the LatLng from placed marker for browser fields从浏览器字段的放置标记中获取 LatLng
【发布时间】:2012-02-28 04:29:54
【问题描述】:

尝试了以下脚本,但最后一部分不起作用。请帮忙。

// 脚本类型="text/javascript"

var myOptions = {
    zoom: 7,
    center: new google.maps.LatLng(-36.624345125527526,144.96459973437504),
    mapTypeId: google.maps.MapTypeId.TERRAIN,
    streetViewControl: false,
    draggableCursor: 'crosshair',
    draggingCursor: 'pointer'
    };
var map = new google.maps.Map(document.getElementById('map_canvas'),
    myOptions);
google.maps.event.addListener(map, 'click', function(e) {
    placeMarker(e.latLng, map);
    });

map.panTo(position);

// 不工作

google.maps.event.addListener(marker, 'dragend', function() {
    var point = marker.getPosition();
    document.getElementById("latitude").getElementsByTagName("input")[0].value = point.lat();
    document.getElementById("longitude").getElementsByTagName("input")[0].value = point.lng();
    });

//脚本结束


尝试使用以下方法,但拖动标记后没有任何反应。似乎听众没有在听标记的“dragend”事件。有什么线索吗?在地图上拖动标记后获取 latLng 的其他选项?

// JS代码

google.maps.event.addListener(marker, 'dragend', function(e) {
    var point = e.latLng;
    alert(marker.e.latLng);
})

//结束代码

输入元素部分不是一个选择,因为脚本位于基于 Web 的应用程序的嵌入式占位符中。所以不能改变那部分。

【问题讨论】:

  • 我只使用了一点 google maps api,但你的 map.panTo(position) 看起来很奇怪。

标签: google-maps-api-3


【解决方案1】:

您应该使用由 dragend 事件传递的 MouseEvent 对象作为标记。像这样:

google.maps.event.addListener(marker, 'dragend', function(e) {
    var point = e.latLng;
    document.getElementById("latitude").getElementsByTagName("input")[0].value = point.lat();
    document.getElementById("longitude").getElementsByTagName("input")[0].value = point.lng();
    });

我也不确定为什么你不只是命名你的输入元素并直接访问它们......像这样:

document.getElementById("latitude_input").value = point.lat();
document.getElementById("longitude_input").value = point.lng();

【讨论】:

  • 尝试使用以下但仍然无法正常工作。有什么线索吗? inpu 元素部分不是一个选择,因为脚本位于基于 Web 的应用程序的嵌入式占位符中。所以不能改变那部分。 google.maps.event.addListener(marker, 'dragend', function(e) { var point = e.latLng; alert(marker.e.latLng); });
  • 在某处发布您的实时代码(JS Fiddle 可以),这样evertone 就可以查看并查看错误可能出在哪里。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-01-13
  • 2018-02-12
  • 1970-01-01
  • 2011-08-18
  • 2011-02-04
  • 2014-12-18
相关资源
最近更新 更多