如何使用 Mapbox 通过弹出框获取当前位置
Posted
技术标签:
【中文标题】如何使用 Mapbox 通过弹出框获取当前位置【英文标题】:How To Get Current Location With Pop Up Box Using Mapbox 【发布时间】:2021-04-10 21:08:31 【问题描述】:是否可以使用像 vanilla javascript 这样的 mapbox 获取当前位置(纬度和经度)?我想要的是第一张图片,但我认为使用香草 javascript 位置会使位置不准确,我想使用地图框,但它只提供使用必须首先显示地图的按钮。
所以,我想要的是如何在页面加载时或当用户单击按钮而不在 mapbox 上显示地图时获取用户当前位置(纬度和经度)。
【问题讨论】:
你不能,这是不道德的。您使用 JavaScript 所做的只是获取公共 IP 地理信息。 【参考方案1】:您引用的 Mapbox 示例使用 Mapbox' GeoLocate Control,而后者又使用浏览器 Geolocation API 来确定当前位置。
因此,如果您不想在 Mapbox 地图上显示返回的位置,使用 Mapbox 的 Geolocate Control 没有任何优势。
如何在 html 页面中获取地理位置的示例:
<script>
var x = document.getElementById("demo");
function getLocation()
if (navigator.geolocation)
navigator.geolocation.getCurrentPosition(showPosition);
else
x.innerHTML = "Geolocation is not supported by this browser.";
function showPosition(position)
x.innerHTML = "Latitude: " + position.coords.latitude +
"<br>Longitude: " + position.coords.longitude;
</script>
【讨论】:
以上是关于如何使用 Mapbox 通过弹出框获取当前位置的主要内容,如果未能解决你的问题,请参考以下文章
如何通过单击外部来关闭 Twitter Bootstrap 弹出窗口?