检查用户在使用传单时是否共享位置's locate()
Checking whether user shared location when using Leaflet's locate()
我正试图在地图上设置一个按钮,允许用户缩放到自己的位置。我正在使用传单映射库(follower.cloudmaked.com).
locate()方法效果很好,但我想确保用户确实共享了他的位置,因为如果浏览器返回位置,我想更改按钮。这是我一直在尝试使用的代码:
function locateUser() {
try {
this.map.locate({setView: true});
} catch(err) {
alert("Couldn't find your location.");
return false;
}
return true;
}
$("document").ready(function() {
var map = null;
initmap(); // This is the function that displays the map.
// Here is where I need to check whether the user was located.
// If he is located I want to switch the button to one that will
// reset the view.
var is_located = 0;
$("#myLocation").click(function() {
if (is_located == 0) {
if (locateUser()){
is_located = 1;
$(this).attr('value', 'WILMINGTON');
};
} else if (is_located == 1) {
$(this).attr('value', 'MY LOCATION');
is_located = 0;
};
});
});
传单文档中说locate()方法返回一个locationfind事件或一个locationerror事件,但当我试图记录locate(()返回的内容时,我只得到一个对象,我不清楚它是否找到了用户的位置。
Leaflet的locate()方法将只返回Map对象,而不返回地理位置调用的状态。然而,传单将在尝试地理定位后引发两个事件之一:
- 已找到位置
- 位置错误
我上传了一个使用这些事件的示例,网址是:http://jsfiddle.net/XwbsU/5/
您可以看到,我已经注册了这些事件中的每一个,以确定地理定位调用是否成功。
希望能有所帮助。
相关文章:
- jquery试图按名称获取按钮位置
- 我可以获得相对于被点击元素的确切点击位置吗
- 谷歌地图固定位置覆盖
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 循环比赛位置算法
- es6 相当于下划线查找位置
- jQuery循环在特定位置暂停
- 引导程序:在导航栏中,显示悬停在单个位置的基于Li Link的不同内容
- 自定义函数中的光标位置
- 安卓平台上的QWebView HTML5地理位置
- DIV并排,位置不正确
- 使用jQuery更改元素的顶部位置
- 在谷歌地图上绘制位置数据库
- 跟踪jqplot垂直折线图的鼠标位置
- 设置画布渲染器的x和y位置
- 固定位置菜单时滚动,直到它击中一个相对容器的底部
- 根据页面的位置突出显示文本中的字符
- 传单缩放控制位置错误
- 如何将返回的值应用于多个不同位置的多个选择器
- 检查用户在使用传单时是否共享位置's locate()