我正在使用导航器在页面加载时获取谷歌地图上的当前位置但是当我在Firefox上运行我的代码时,它返回当前位置的经纬度并且工作正常,相同的代码无法与谷歌Chrome浏览器一起使用。 / p>
我有研究,发现getCurrentPosition()和watchPosition()在不安全的起源上被弃用。 注意: 请看这个链接:Geolocation API removed from unsecured origins in Chrome 50
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.3/jquery.min.js"></script>
<script type="text/javascript">
// Function for showing current postion on the map
$(document).ready(function () {
if (navigator.geolocation) { alert('fn called');
navigator.geolocation.getCurrentPosition(showPosition);
}
});
function showPosition(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
console.log('navigation called');console.log(latitude);console.log(longitude);
}
</script>
之前有没有人面对,我不想使用HTTPS?
答案 0 :(得分:0)
您必须通过https://为地理位置提供网页,才能使用最新版本的Chrome。
请参阅此相关链接:Geolocation API removed from unsecured origins in Chrome 50
从以上链接:
从Chrome 50开始,Chrome不再支持使用非安全连接提供的网页中的https://developers.google.com/web/fundamentals/native-hardware/user-location/obtain-location?hl=en来获取用户的位置(HTML5 Geolocation API)。这意味着必须通过secure context等HTTPS来提供进行Geolocation API调用的页面。
答案 1 :(得分:0)
geolocation api是否已从移动版Chrome中删除?当我使用ios 9,Chrome 50.0.2661.95版本检查我的Iphone 5时,仍然可以从带有http的网页获得地理位置请求
答案 2 :(得分:0)
我的回答晚了,但可能有用。我使用了像 Ultrasurf 这样的 VPN 代理软件,它工作正常。这是 Google 授权的问题。