gpt4 book ai didi

javascript - 事件 lat/lng 不匹配 AJAX 成功数据 lat/lng

转载 作者:行者123 更新时间:2023-12-03 05:08:55 27 4
gpt4 key购买 nike

我想在 Google map 标记完成拖动时检索正确的 lat/lng

但是对于同一个精确点,它给出了两个不同的(非常近似)坐标。

同一掉落的示例结果:

evt.latLng:39.82213542984826,-7.484207724853491

data.results[0].geometry.location:39.822158,-7.484110899999998

用于获取这些结果的代码:

google.maps.event.addListener(marker, 'dragend', function (evt) {
$.getJSON({
url: "https://maps.googleapis.com/maps/api/geocode/json?latlng=" + evt.latLng.lat() + "," + evt.latLng.lng() + '&key=ABC',
data: {},
success: function (data, status) {
if (data.status == "OK") {
$('#div').html(evt.latLng.lat() + ", " + evt.latLng.lng() + '<br />' + data.results[0].geometry.location.lat + ', ' + data.results[0].geometry.location.lng)
}
}
});
});

所以我的问题是,为什么会有差异以及哪一个提供了最准确的坐标?

最佳答案

dragend 事件中的 latLng 对象是您放置图钉的位置,它代表您要查找最接近的映射地址的位置。

latlng — The latitude and longitude values specifying the location for which you wish to obtain the closest, human-readable address.

响应中的数据包含为这些坐标找到的最近地址(或者如果未找到则不太具体的地址,例如城镇/城市)。在您的情况下,响应的第一个索引处的地址(这将是最准确的结果)并不完全是您的 pin 坐标所在的位置。

如果你查看完整的 JSON 响应,它会变得更清晰一些。

JSON

Note: Reverse geocoding is an estimate. The geocoder will attempt to find the closest addressable location within a certain tolerance. If no match is found, the geocoder will return zero results.

来源: Reverse Geocoding for a Latitude/Longitude

您可以在此处阅读有关该主题的更多信息,其中包括一个示例。

关于javascript - 事件 lat/lng 不匹配 AJAX 成功数据 lat/lng,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41912087/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com