作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 HTML 地理定位,我想实现以下目标:
1. User arrives at page
2. User is asked to share location
3. When user says yes, Google Maps initialises and centres on their position
4. We add marker to map showing their position
5. (ongoing) As the user moves, the marker continues to move with them
我已经实现了如下:
// Add a marker
function addMarker(loc) { // adds marker }
function setupMap(loc) { // initialise map and centre on user's position };
setUpMap(???????);
// Start watching user's position
var watchID = navigator.geolocation.watchPosition(addMarker);
所以我的问题是:如何获得初始位置以设置 map ?
我可以看到两个选项,它们都有缺陷:
addMarker
中调用 setUpMap
,但是每次用户移动时 map 都会重新初始化,这显然是低效的。 watchLocation
之前调用 navigator.geolocation.getCurrentPosition
- 但随后用户似乎会收到两次位置提示,这看起来很笨拙。 有什么更好的主意吗?
谢谢大家。
更新
好吧,看来我没解释清楚。我的问题确实是:如何一次性从 watchPosition 获取用户的位置,以便我可以一次性初始化 map ?
最佳答案
调用这个:
navigator.geolocation.watchPosition
而不是这个:
navigator.geolocation.getCurrentPosition
watchPosition
函数也初始化位置。
关于HTML5 地理位置 : logic to get initial position as well as watchLocation?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6423513/
下面是用于查找更新的地理位置的 HTML5 代码。纬度和经度值会在警报框中弹出。但是,不能使用 $(id).html(value); 将值分配给 div。我正在使用 watchPosition() 函
我正在使用 HTML 地理定位,我想实现以下目标: 1. User arrives at page 2. User is asked to share location 3. When user sa
我是一名优秀的程序员,十分优秀!