我试图实现地理位置服务来获取纬度和经度值,但在Safari中它只是不起作用。然后在Firefox中它可以工作,但它不知道如何处理错误。我不知道为什么。
以下是我的代码。
<!DOCTYPE html>
<html lang="en">
<head>
<title>GPS</title>
</head>
<body>
<strong>Output:</strong>
<input type="text" id = "mapLink" value="">
<script type = "text/javascript">
navigator.geolocation.getCurrentPosition(showMap, handle_error);
function showMap(position){
var lat = position.coords.latitude;
var long = position.coords.longitude;
var linkUrl = lat + "," + long;
var mapLink = document.getElementById("mapLink");
mapLink.value = linkUrl;
}
function handle_error(err) {
alert('error');
}
</script>
</body>
</html>
答案 0 :(得分:2)
Safari确实支持Geolocation。但为了让您的生活更轻松,请查看http://code.google.com/p/geo-location-javascript/。
答案 1 :(得分:0)
你可以尝试,但safari仅在新版本中支持geo,你可以在Google Chrome或Firefox中试用
<script>
// Try W3C Geolocation (Preferred)
if(navigator.geolocation) {
alert('Browset support geo')
}
</script>
我在此网站www.baireswifi.com.ar中实施了parctialy geolocation示例,您可以在Safari中尝试。如果不能正常使用旧浏览器。
答案 2 :(得分:0)
必须通过HTTPS。发布说明说,#34; WebGeolocation现在要求安全(HTTPS)网站在iOS和macOS上工作,以防止恶意使用位置数据。&#34;在&#34; Safari&#34;标题。 https://forums.developer.apple.com/thread/54276