javascript - Phonegap 地理定位不适用于移动设备

标签 javascript angularjs cordova mobile geolocation

我尝试使用 Phonegap(3.7.0) 和 AngularJS 制作一个使用地理定位的(混合)Web 应用程序。我的问题是地理定位可以在浏览器中工作,但当我在 Phonegap 中构建项目并尝试在移动设备上运行它时却无法工作。当我删除 Javascript 中的 AngularJS Controller 时,地理定位器在移动设备上就像一个魅力一样。我尝试手动引导 AngularJS(用于 DOM 加载顺序),但这对我不起作用。而且配置文件至少我认为是正确的。

有人可以帮我解决这个问题或给我线索吗?

提前致谢

HTML

    <meta charset="utf-8" />
    <meta name="viewport" content="initial-scale = 1.0">

    <!-- Phonegap Javascript -->
    <script src="js/cordova/cordova.js" type="text/javascript"></script>

    <!-- AngularJS Javascript -->
    <script src="js/angular/angular.js" type="text/javascript"></script>
    <script src="js/angular/angular-route.js" type="text/javascript"></script>

    <!-- Foundation for apps Javascript -->
    <script src="js/vendor/modernizr.js"></script>

</head>

<body>  
      <div class="content-container" ng-app="mamyloeApp">
           <div ng-controller="UitjesDichtbijController" class="list-view-uitje">                        
               <ul ng-repeat="uitjes in uitjes.uitjes" class="list-item-uitje">
                   <li><a href='#'>
                        <div class="list-item-uitje-left">
                             <div class='uitje_list_image'>
                                   <img src="../library/photos/{{uitjes.list_image}}" alt='image'>
                                        </div>
                                    </div>
                                    <div class="list-item-uitje-right">
                                        <div class="naam-uitje">{{uitjes.overview}}</div>
                                        <div class="uitje-info">
                                            <div class="plaats-uitje">{{uitjes.city}}({{uitjes.distance | number:1}}km)</div>
                                            <div class="categorie-uitje">{{uitjes.category}}</div>
                                        </div>
                                        <div class="naam-local">{{uitjes.firstname}}</div>
                                    </div>

                                </a></li>
                        </ul>

                    </div> 
    <script src="js/vendor/jquery.js"></script>
    <script src="js/foundation.min.js"></script>
    <script src="js/foundation/foundation.offcanvas.js"></script>

            <!-- Controller scripts -->
    <script src="js/load_list.js" type="text/javascript"></script>

</body>

地理定位器/AngularJS

var latitude = 0;
var longitude = 0;


var geo_initiate = false;

var App = angular.module('mamyloeApp', []);

App.controller('UitjesDichtbijController', function ($scope, $http) {

    function geolocation()
    {
        var options = {enableHighAccuracy: true, timeout: 20000, maximumAge: 18000000};
        watchID = navigator.geolocation.getCurrentPosition(onSuccess, onError, options);

        function onSuccess(position)
        {
            latitude = position.coords.latitude;
            longitude = position.coords.longitude;

            console.log("GPS is ready");
            console.log(latitude);
            console.log(longitude);

            $http.get("http://../Mamyloe_app/api/uitjes/" + latitude + "&" + longitude + "")
                    .success(function (response) {
                        $scope.uitjes = response;
                        console.log(response);
                    });

            geo_initiate = true;   

            if(geo_initiate === true){
                document.getElementById("content-container").style.visibility = "visible";
            }
        }
        function onError(error)
        {
            if (error.code = 1)
            {
                alert("Enable your GPS!");
            }
            console.log("GPS is NOT ready");
        }
    }
    $(document).ready(function () {
        geolocation();
    });
});

最佳答案

问题解决了,访问源是配置文件中的问题(access origin="*")和 map 结构中的一些大写,phonegap 不喜欢这样。

关于javascript - Phonegap 地理定位不适用于移动设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29348034/

相关文章:

javascript - 单击链接后 Jquery 切换输入值

AngularJS ngInclude 动态改变它的位置

javascript - 如何在AngularJS中分离路由

javascript - 部署 AngularJS 应用程序 : How to make app read JSON data

ios - Cordova App -> iOS 存档验证失败。图标不见了

ios - flex mobile 4.5 或 phone gap 中 ios 的音量控制

javascript - Phonegap xmlhttprequest 不返回 xml 数据

VScode 中 JavaScript 颜色突出显示错误

javascript - 类型错误 : React object is undefined on createElement

javascript - 多个计数按钮 JS