Javascript 在输入中获取Latlng和输出

Javascript 在输入中获取Latlng和输出,javascript,google-maps-api-3,Javascript,Google Maps Api 3,尝试输出Lat和Long,当你拖动谷歌地图的pin时,我添加了一个侦听器,但它似乎不起作用 使用此api: 所以获取latlng只是本例的一个附加功能,但我不明白为什么它不在输入中输出latlng google.maps.event.addListener(markers, 'dragstart', 'dragend', function (event) { document.getElementById("lat").value = event.LatLng.lat();

尝试输出Lat和Long,当你拖动谷歌地图的pin时,我添加了一个侦听器,但它似乎不起作用

使用此api:

所以获取latlng只是本例的一个附加功能,但我不明白为什么它不在输入中输出latlng

google.maps.event.addListener(markers, 'dragstart', 'dragend', function (event) {
      document.getElementById("lat").value = event.LatLng.lat();
      document.getElementById("long").value = event.LatLng.lng();
  });

 <input id="lat" name="lat"  val="51.5000" />
 <input id="long" name="long" val="0.1167" />
标记:

 var newMarker = new google.maps.Marker({
                    map: map,
                    title: place.name,
                    position: place.geometry.location,
                    animation: google.maps.Animation.DROP,
                    draggable: true
                })

                // Create a marker for each place.
                markers.push(newMarker);

您不能这样组合事件侦听器:

google.maps.event.addListener(markers, 'dragstart', 'dragend', function (event) {
只要做:

google.maps.event.addListener(markers, 'dragend', function (event) {
如果需要对dragend和dragstart使用相同的函数,请首先创建该函数,并为两个事件侦听器引用该函数

function updateCoords(event) {
      document.getElementById("lat").value = event.latLng.lat();
      document.getElementById("long").value = event.latLng.lng();
}

google.maps.event.addListener(markers, 'dragstart', updateCoords);
google.maps.event.addListener(markers, 'dragend', updateCoords);

您的
LatLng.lat()?有一段时间没用了,但我想我记得LatLng在某个地方作为静态对象可以从事件中检索。但是我希望你的代码会出错,你没有提到发生了什么。什么是
标记
?您在何处/如何创建标记?请提供一份说明问题的报告
markers
听起来像是一个数组,它不起作用。
event
对象没有
locPositionLat
属性,这只是一个局部变量,与Google的
dragend
事件处理程序返回的
事件无关。根据我的回答使用
event.latLng.lat()
。是的,我想我可以使用var,但是是的。现在可以工作了,只是尝试获取邮政编码是另一项任务,并且输出它类似于Latlngt。包含坐标的a的属性是
latLng
(而不是
latLng
)@geocodezip。对了,我应该已经发现了!请参见编辑,我设法在现场输出板条。我试过google.map.event.Lis。。。“我的编辑”中的行,但该行不起作用。@MrNew请添加显示如何创建markers@duncan请参阅我的原始帖子中的更新。当我现在拖动标记时,我成功地获得了latLng,但不确定如何在字段中正确地输入它。
function updateCoords(event) {
      document.getElementById("lat").value = event.latLng.lat();
      document.getElementById("long").value = event.latLng.lng();
}

google.maps.event.addListener(markers, 'dragstart', updateCoords);
google.maps.event.addListener(markers, 'dragend', updateCoords);