Javascript W3C地理定位API在Chrome中不起作用
以下代码适用于Firefox,但不适用于Google Chrome:Javascript W3C地理定位API在Chrome中不起作用,javascript,firefox,google-chrome,geolocation,Javascript,Firefox,Google Chrome,Geolocation,以下代码适用于Firefox,但不适用于Google Chrome: <!DOCTYPE html> <html> <head> <title>title</title> <script type="text/javascript"> var successCallback = function(data) { console.l
<!DOCTYPE html>
<html>
<head>
<title>title</title>
<script type="text/javascript">
var successCallback = function(data) {
console.log('latitude: ' + data.coords.latitude + ' longitude: ' + data.coords.longitude);
};
var failureCallback = function() {
console.log('location failure :(');
};
var logLocation = function() {
//determine if the handset has client side geo location capabilities
if(navigator.geolocation){
navigator.geolocation.getCurrentPosition(successCallback, failureCallback);
}
else{
alert("Functionality not available");
}
};
logLocation();
setTimeout(logLocation, 5000);
</script>
</head>
<body>
<p>Testing</p>
<body>
</html>
标题
var successCallback=函数(数据){
log('latitude:'+data.coords.latitude+'longitude:'+data.coords.longitude);
};
var failureCallback=函数(){
log('位置故障:(');
};
var logLocation=函数(){
//确定手机是否具有客户端地理定位功能
if(导航器.地理位置){
navigator.geolocation.getCurrentPosition(successCallback,failureCallback);
}
否则{
警报(“功能不可用”);
}
};
logLocation();
设置超时(日志位置,5000);
测试
怎么回事?我以为谷歌Chrome应该支持W3C地理定位API。对我来说非常适合——在Win7上使用Chrome 11和Firefox 4.0.1
- 确保您没有在Chrome中禁用位置跟踪:
Options>Under the Hood>Content Settings>location
- 由于安全限制,不允许使用
方案加载的资源访问该位置。请参阅文件://
地理定位API允许您在征得用户同意的情况下发现用户的位置。您可以使用此功能引导用户到达目的地,并对用户创建的内容进行地理标记;例如,标记拍摄照片的位置 地理定位API还允许您查看用户所在的位置,并在用户移动时对其进行跟踪,始终获得用户的同意(并且仅在页面打开时)。这创建了许多有趣的用例,例如与后端系统集成,以便在用户靠近时准备收集订单 在使用地理定位API时,您需要了解很多事情。本指南将引导您了解常见的用例和解决方案
它对我来说很好用-在Win7上使用Chrome 11和Firefox 4.0.1 确保您没有在Chrome中禁用位置跟踪:选项>引擎盖下>内容设置>位置请允许该权限 检查权限后,请运行它 运行后,它将是
successcallback
,否则将进入errorcallback
函数成功回调(位置)
{
var userLatLng=new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
变量myOptions={
缩放:15,
中心:userLatLng,
mapTypeId:google.maps.mapTypeId.ROADMAP
};
var mapObject=new google.maps.Map(document.getElementById(“googleMap”),myOptions);
var marker=new google.maps.marker({
map:mapObject,
职位:userLatLng
});
}
函数失败回调(错误){
开关(错误代码){
案例1:
警报(“用户拒绝了地理定位请求”);
打破
案例2:
警报(“位置信息不可用。请确保位置处于打开状态”);
打破
案例3:
警报(“超时”);
打破
案例4:
警报(“发生未知错误”);
打破
}
}