【发布时间】:2018-02-06 20:54:55
【问题描述】:
我已经相当深入地阅读了传单文档,但我找不到我的问题的简单答案。
首先是一些上下文:
我创建了一个新地图并将其置于当前位置的中心,并为找到的位置添加了一个侦听器。
var map = L.map('map', {zoomControl: false}).fitWorld();
L.tileLayer('https://api.mapbox.com/styles/v1/mapbox/outdoors-v9/tiles/256/{z}/{x}/{y}?access_token=pk.eyJ1IjoiZG9ucZhc3o3ODMifQ.3-x6nnTgePEK0ERPllV7oQ', {
maxZoom: 20
}).addTo(map);
map.locate({setView: true, watch: true, maxZoom: 17});
map.on('locationfound', onLocationFound);
我现在想在当前位置创建一个标记,例如
marker = L.marker(map.getLatLong);
marker.addTo(map);
这是通过 onLocationFound() 函数完成的,因为我只想创建一次,然后使用 locationfound 事件通过 marker.setLatLng() 移动标记。
如何使用传单获取当前的经纬度?它有 HTML5 Geolocation API 的简单替代方案吗?
我试过 map.getCenter 但它返回 (0,0)
【问题讨论】:
-
this answer 中有一个示例可能有用。
-
谢谢。这确实有效,但如果有人知道没有事件的整洁方式,我也将不胜感激。
-
可能不会,因为您正在与服务器通信以获取此信息,并且 99.9% 的时间将基于事件。
标签: javascript leaflet