我有这个基本功能来识别用户的位置:
function getLocation()
{
if (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(showmyPosition, errorCallback);
}
else
{
alert("Geolocation is not supported by this browser.");
}
}
function showmyPosition(position)
{
document.location.href="/search?lat="+ position.coords.latitude +"&lng="+ position.coords.longitude +"";
}
function errorCallback(error) {
if (error.code === 1) {
alert("User denied geolocation");
}
}
在Firefox,Chrome和资源管理器上运行良好,但在Safary上无效(在iPhone上都不行)。为什么?
答案 0 :(得分:1)
如果在配置中关闭地理定位,它将无法正常工作。此外,它需要secure (HTTPS) protocol。您还可以查看JS-lib:https://code.google.com/archive/p/geo-location-javascript/