我需要使用php的用户的纬度和经度。尝试下面的代码。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Example of HTML5 Geolocation</title>
<script type="text/javascript">
function showPosition(){
if(navigator.geolocation){
navigator.geolocation.getCurrentPosition(function(position){
var positionInfo = "Your current position is (" + "Latitude: " + position.coords.latitude + ", " + "Longitude: " + position.coords.longitude + ")";
document.getElementById("result").innerHTML = positionInfo;
});
} else{
alert("Sorry, your browser does not support HTML5 geolocation.");
}
}
</script>
</head>
<body>
<div id="result">
<!--Position information will be inserted here-->
</div>
<button type="button" onclick="showPosition();">Show Position</button>
</body>
</html>
但是当我在服务器中运行此代码时,我在获取用户纬度和经度时发现此警告错误。
getCurrentPosition()和watchPosition()不再适用于不安全 起源。要使用此功能,您应该考虑切换您的 应用程序到安全源,例如HTTPS
while Same code works here.。否则建议任何其他代码来获取用户的纬度和经度。 感谢。
答案 0 :(得分:2)
地理定位API已从Chrome 50中的不安全来源中删除。
此更改自Chrome 50(太平洋标准时间2016年4月20日下午12点)起生效。
自第44版(2015年7月21日发布)以来,Chrome的开发者工具控制台一直在提供警告。 已经有一些公告声明了我们为什么要做出这种改变的理由(和讨论):
意图通过HTTP弃用一组强大的功能(2015年2月) 意图通过HTTP弃用Geolocation API(2015年11月) Chrome Dev Summit(2016年11月) Chrome测试版频道发布博客(2016年3月17日) Chrome状态网站 还有一些其他消息来源强调了这一点:Mobiforge(2016年1月26日),有线(2016年3月17日),VentureBeat(2016年4月13日)。
Read More Documentatin here 。因此,如果没有HTTPS,则无法使用GeoLocation。