Javascript 地理定位应用程序不工作
因此,我有一个HTML5和Javascript中的示例地理位置应用程序,它应该在谷歌地图上显示用户的当前位置。由于某些原因,我无法使其工作,即使我的所有隐私设置都已启用。在我的浏览器和我的Cordova预览中,页面仍然无法跟踪我的位置。当我点击网页上的链接时,我从示例应用程序的工作位置获得了示例代码。你知道为什么这样不行吗?代码如下:Javascript 地理定位应用程序不工作,javascript,ios,html,cordova,geolocation,Javascript,Ios,Html,Cordova,Geolocation,因此,我有一个HTML5和Javascript中的示例地理位置应用程序,它应该在谷歌地图上显示用户的当前位置。由于某些原因,我无法使其工作,即使我的所有隐私设置都已启用。在我的浏览器和我的Cordova预览中,页面仍然无法跟踪我的位置。当我点击网页上的链接时,我从示例应用程序的工作位置获得了示例代码。你知道为什么这样不行吗?代码如下: <!DOCTYPE html> <html> <head> <title>mobiForge g
<!DOCTYPE html>
<html>
<head>
<title>mobiForge geolocation map API demo</title>
<style>
body,html {height:100%}
#map {width:100%;height:100%;}
</style>
<script src="http://maps.googleapis.com/maps/api/js?key=AIzaSyDbnJWPQoF5XQgI-akwQjyB6GKOFNtDO54"></script>
<script>
var map;
function initGeolocation() {
if (navigator && navigator.geolocation) {
var watchId = navigator.geolocation.watchPosition(successCallback,
errorCallback,
{enableHighAccuracy:true,timeout:60000,maximumAge:0});
} else {
console.log('Geolocation is not supported');
}
}
function errorCallback() {}
function successCallback(position) {
var myLatlng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
if(map == undefined) {
var myOptions = {
zoom: 15,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("map"), myOptions);
}
else map.panTo(myLatlng);
}
</script>
</head>
<body onload="javascript:initGeolocation()">
<div id="map">
</div>
</body>
</html>
mobiForge地理定位地图API演示
正文,html{height:100%}
#地图{宽度:100%;高度:100%;}
var映射;
函数initGeolocation(){
if(navigator&&navigator.geolocation){
var watchId=navigator.geolocation.watchPosition(successCallback,
错误回调,
{enableHighAccurance:true,超时:60000,最大值:0});
}否则{
log('不支持地理位置');
}
}
函数errorCallback(){}
函数成功回调(位置){
var myLatlng=new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
if(map==未定义){
变量myOptions={
缩放:15,
中心:myLatlng,
mapTypeId:google.maps.mapTypeId.ROADMAP
}
map=新的google.maps.map(document.getElementById(“map”),myOptions);
}
else地图。panTo(myLatlng);
}
var映射;
纬度;
var经度;
var映射选项;
var myLatLan;
document.addEventListener(“deviceready”,函数(){
navigator.geolocation.getCurrentPosition(onSuccess,onError);
},假);
成功时的功能(位置){
纬度=位置坐标纬度;
经度=position.coords.longitude;
迈拉特兰={lat:纬度,lng:经度};
console.log(myLatLan);
地图选项={
缩放:8,
中心:迈拉特兰
};
}
函数onError(错误){
警报('code:'+error.code+'\n'+'消息:'+error.message+'\n');
}
函数showmap(){
var div=document.getElementById(“映射画布”);
map=新的google.maps.map(div,mapOptions);
myLatLng={lat:纬度,lng:经度};
var marker=new google.maps.marker({
职位:myLatLng,
地图:地图,
标题:“你好,世界!”
});
}
谷歌地图插件
全屏
您还没有提到url白名单,您可以看到上面的meta标记就是这样。
希望这有帮助。您是否使用地理定位cordova插件?
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Security-Policy" content="script-src 'self' https://maps.googleapis.com/ https://maps.gstatic.com/ https://mts0.googleapis.com/ 'unsafe-inline' 'unsafe-eval'">
<script src="https://maps.googleapis.com/maps/api/js?key=Your_API_KEY&libraries=places" async defer></script>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="js/index.js"></script>
<script type="text/javascript" src="js/index.js"></script>
<script src="css/jquery-ui.css"></script>
<script src="js/jquery.min.js"></script>
<script src="js/jquery-ui.min.js"></script>
<script type="text/javascript">
var map;
var latitude;
var longitude;
var mapOptions;
var myLatLan;
document.addEventListener("deviceready", function() {
navigator.geolocation.getCurrentPosition(onSuccess, onError);
}, false);
function onSuccess(position){
latitude=position.coords.latitude;
longitude=position.coords.longitude;
myLatLan={lat:latitude,lng:longitude};
console.log(myLatLan);
mapOptions={
zoom: 8,
center: myLatLan
};
}
function onError(error){
alert('code: ' + error.code + '\n' + 'message: ' + error.message + '\n');
}
function showmap(){
var div = document.getElementById("map_canvas");
map = new google.maps.Map(div,mapOptions);
myLatLng={lat:latitude,lng:longitude};
var marker = new google.maps.Marker({
position: myLatLng,
map: map,
title: 'Hello World!'
});
}
</script>
</head>
<body>
<h3>GoogleMaps-Plugin</h3>
<div style="width:100%;height:400px" id="map_canvas"></div>
<button id="button" onclick="showmap()">Full Screen</button>
</body>
</html>