因此,我使用了navigator.geolocation.getCurrentPosition jammy,使用了相当简单的JS。
$(document).ready(function(){
$("#business-locate, #people-locate").click(function() {
navigator.geolocation.getCurrentPosition(foundLocation, noLocation);
});
navigator.geolocation.getCurrentPosition(foundLocation, noLocation);
function foundLocation(position) {
var lat = position.coords.latitude;
var lon = position.coords.longitude;
var userLocation = lat + ', ' + lon;
$("#business-current-location, #people-current-location").remove();
$("#Near-Me")
.watermark("Current Location")
.after("<input type='hidden' name='business-current-location' id='business-current-location' value='"+userLocation+"' />");
$("#people-Near-Me")
.watermark("Current Location")
.after("<input type='hidden' name='people-current-location' id='people-current-location' value='"+userLocation+"' />");
}
function noLocation() {
$("#Near-Me").watermark("Could not find location");
$("#people-Near-Me").watermark("Could not find location");
}
})//end DocReady
基本上,这里发生的是我们得到当前位置,如果获得了当前位置,则将两个“水印”放置在两个表示“当前位置”的字段中,并使用经纬度数据作为其值来创建两个隐藏字段(将它们删除)一开始就不会重复)。还有两个按钮具有绑定在一起的单击功能,它们执行相同的操作。不幸的是,它每三分钟左右就可以工作。这是什么问题???
noLocation
函数被调用了吗?如果是这样,你可以在添加error
参数noLocation()
,然后error.code
和error.message
可以帮助您调试。它还可能有助于我们了解您使用的是哪种浏览器,以及在不同的浏览器中是否遇到相同的问题。