2015-03-30 6 views
1

Я пытаюсь создать (гибридный) webapp с помощью Phonegap (3.7.0) и AngularJS, который использует геолокацию. Моя проблема заключается в том, что геолокация работает в браузере, но не тогда, когда я создаю проект в Phonegap и пытаюсь запустить его на мобильном устройстве. Когда я удаляю контроллер AngularJS в своем Javascript, геолокатор работает как шарм на мобильных устройствах. Я попытался выполнить загрузку 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> 

Geolocator/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(); 
    }); 
}); 
+0

У вас есть следующее в коде манифеста? <использует-разрешение андроида: имя = "android.permission.ACCESS_FINE_LOCATION" /> <использует-разрешение андроида: имя = "android.permission.ACCESS_CORSE_LOCATION" /> – shamaleyte

+0

Да я и также добавил Feautures в файл конфигурации phonegap для Android и iOS. Это не проблема разрешения, я думаю, проблема AngularJS, когда я удаляю это, работает геолокатор: var App = angular.module ('mamyloeApp', []); App.controller ('UitjesDichtbijController', function ($ scope, $ http) {}); – Tim

+0

Что говорят журналы? Это должно быть что-то сказать. – shamaleyte

ответ

0

Проблема решена, происхождение доступа была проблема (доступ происхождения =» * ") в файле конфигурации и сома e capitals в структуре карты, телефонная связь не нравится.

+1

как решить проблему –

+0

Можете ли вы показать свое решение более точным? – FlowX

Смежные вопросы