将纬度和经度值转换为地名并显示?
Posted
技术标签:
【中文标题】将纬度和经度值转换为地名并显示?【英文标题】:Convert Latitude and Longitude values to a place name and display it? 【发布时间】:2020-08-04 11:42:54 【问题描述】:有没有办法将纬度和经度值转换为地名,然后能够在 html 页面上显示该地名?
if ('geolocation' in navigator)
let watchID = navigator.geolocation.watchPosition(position =>
let latitude = position.coords.latitude;
let longitude = position.coords.longitude;
console.log(latitude, longitude);
, error =>
console.log(error.code);
,
enableHighAccuracy: true
);
console.log(watchID);
else
console.log("Not Supported");
代码可以返回经纬度并显示出来,如果可能的话我想获取具体的地方显示在页面上还是记录在表格中?
【问题讨论】:
将一组纬度/经度坐标转换为人类可读位置的实践名称称为反向地理编码。 Google Maps API 可以为您执行此操作,但请注意,免费版本的调用次数有限:developers.google.com/maps/documentation/javascript/examples/… wiki.openstreetmap.org/wiki/Nominatim 【参考方案1】:基本上,你需要三样东西:
带有坐标的地点列表。这有点超出了本网站的范围。
距离函数。为此,您可以使用余弦规则或半正弦规则。
比 O(n) 更好的最近邻算法。为此,您可以例如从 1 开始划分你的集合,为此谷歌“球体三角形镶嵌”,然后你可以优化你的最近邻算法。
【讨论】:
以上是关于将纬度和经度值转换为地名并显示?的主要内容,如果未能解决你的问题,请参考以下文章
如何将 CLLocationCoordinate2D 纬度和经度转换为双倍?