我正在尝试在地图上设置一个按钮,允许用户缩放到他的位置。我正在使用 Leaflet 映射库(leaflet.cloudmade.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() 方法返回 locationfound 事件或 locationerror 事件,但是当我尝试记录 locate() 返回的内容时,我只得到一个对象,我不清楚它是否找到了用户的位置.