Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 地理定位应用程序不工作_Javascript_Ios_Html_Cordova_Geolocation - Fatal编程技术网

Javascript 地理定位应用程序不工作

Javascript 地理定位应用程序不工作,javascript,ios,html,cordova,geolocation,Javascript,Ios,Html,Cordova,Geolocation,因此,我有一个HTML5和Javascript中的示例地理位置应用程序,它应该在谷歌地图上显示用户的当前位置。由于某些原因,我无法使其工作,即使我的所有隐私设置都已启用。在我的浏览器和我的Cordova预览中,页面仍然无法跟踪我的位置。当我点击网页上的链接时,我从示例应用程序的工作位置获得了示例代码。你知道为什么这样不行吗?代码如下: <!DOCTYPE html> <html> <head> <title>mobiForge g

因此,我有一个HTML5和Javascript中的示例地理位置应用程序,它应该在谷歌地图上显示用户的当前位置。由于某些原因,我无法使其工作,即使我的所有隐私设置都已启用。在我的浏览器和我的Cordova预览中,页面仍然无法跟踪我的位置。当我点击网页上的链接时,我从示例应用程序的工作位置获得了示例代码。你知道为什么这样不行吗?代码如下:

 <!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>