我目前正在Laravel中从事我的项目。我需要获取有关用户的信息(主要是他的位置),以便我的应用程序能够平稳运行;因此我研究了一段时间并了解了地理定位。我有以下代码可找到用户的位置:
var location;
var latitude;
var longitude;
function findLocation() {
var geoSuccess = function(position) {
location = position;
latitude = location.coords.latitude;
longitude = location.coords.longitude;
console.log("Latitude is " + location.coords.latitude);
console.log("Longitude is " + location.coords.longitude);
};
navigator.geolocation.getCurrentPosition(geoSuccess);
};
问题是,用户需要提供其位置才能注册他的帐户。因此,当用户禁止位置许可时,我想通知用户提供该位置以继续。但是我不知道该怎么做。我想做的是:
if(error){
console.log("You need to provide your location!");
// I will do a bunch of stuffs here
}
那么,我该怎么做?任何帮助表示赞赏。
注意:地理位置代码来自W3Schools.com
答案 0 :(得分:0)
您可以在getCurrentPosition()
方法中添加回调。
来源:https://stackoverflow.com/a/18117882/5865284
navigator.geolocation.getCurrentPosition(showPosition(){
// Do stuff...
}, showError(){
// Do stuff...
}, {timeout:8000});
值得注意的是,您可能需要超时,以处理提供“ Not Now”选项的Firefox之类的浏览器。这是因为从设计上讲它不会触发错误处理程序,因此我们需要超时来断言是否已接收到数据。
答案 1 :(得分:0)
实际上,我发现W3Schools有关地理位置的页面中提到了有关该问题的所有内容。而且,我找到了在那里处理错误和拒绝的方法。