5

एक साधारण आयनिक ऐप में मुझे मानचित्र पर वर्तमान स्थान प्राप्त करना होगा। जब मैं मुझे ढूंढता हूं तो यह ब्राउज़र में ठीक काम करता है, लेकिन यह वास्तविक एंड्रॉइड डिवाइस पर काम नहीं कर रहा है।एंड्रॉइड के लिए आईओनिक प्रोजेक्ट में स्थान

मैं निम्नलिखित कोड

View.html

  <ion-view view-title="{{navTitle}}"> 
      <ion-content> 
        <div id="map" data-tap-disabled="true"></div> 
      </ion-content> 
      <ion-footer-bar class="bar-stable"> 
       <a ng-click="centerOnMe()" class="button button-icon icon ion-navigate">Find Me</a> 
      </ion-footer-bar> 
      </ion-view> 

controllers.js

 .controller('googlemap', function($scope, $ionicLoading, $compile) { 
       $scope.navTitle = 'Google Map'; 
       $scope.$on('$ionicView.afterEnter', function(){ 
      if (angular.isDefined($scope.map)) { 
       google.maps.event.trigger($scope.map, 'resize'); 
      } 
      }); 

      function initialize() { 
       //var myLatlng = new google.maps.LatLng(43.07493,-89.381388); 
       var myLatlng = new google.maps.LatLng(18.520430300000000000,73.856743699999920000); 
       var mapOptions = { 
        center: myLatlng, 
        zoom: 16, 
        mapTypeId: google.maps.MapTypeId.ROADMAP 
       }; 
       var map = new google.maps.Map(document.getElementById("map"), 
        mapOptions); 

       //Marker + infowindow + angularjs compiled ng-click 
       var contentString = "<div><a ng-click='clickTest()'>Click me!</a></div>"; 
       var compiled = $compile(contentString)($scope); 

       var infowindow = new google.maps.InfoWindow({ 
        content: compiled[0] 
       }); 

       var marker = new google.maps.Marker({ 
        position: myLatlng, 
        map: map, 
        title: 'Pune(India)' 
       }); 

       google.maps.event.addListener(marker, 'click', function() { 
        infowindow.open(map,marker); 
       }); 

       $scope.map = map; 
       } 
       initialize(); 

       $scope.centerOnMe = function() { 
       if(!$scope.map) { 
        return; 
       } 

       $scope.loading = $ionicLoading.show({ 
        content: 'Getting current location...', 
        showBackdrop: false 
       }); 

       navigator.geolocation.getCurrentPosition(function(pos) { 
        $scope.map.setCenter(new google.maps.LatLng(pos.coords.latitude, pos.coords.longitude)); 
        $scope.loading.hide(); 
       }, function(error) { 
        alert('Unable to get location: ' + error.message); 
       }); 
       }; 

       $scope.clickTest = function() { 
       alert('Example of infowindow with ng-click') 
       }; 

     }) 
इसके अलावा मेरे डिवाइस में

पर डिवाइस स्थान का उपयोग कर रहा है लेकिन अभी भी मैं समस्या है। मुझे लंबे समय तक मेरी स्क्रीन पर निम्नलिखित आउटपुट मिला है।

enter image description here

उत्तर

12

यह आसान सिर्फ ngCordova $cordovaGeoLocationPlugin उपयोग करने के लिए नहीं है? आप इस प्लगइन (अक्षांश और देशांतर) से स्थिति प्राप्त कर सकते हैं और फिर इसे GoogleAPI में पास कर सकते हैं। मुझे लगता है कि यह इस तरह से बहुत आसान होगा।

ngCordova geoLocationPlugin

बस एक सुझाव।

+0

आपको बहुत बहुत धन्यवाद ... –

+0

अच्छा जवाब और अच्छा सुझाव। :) –

+0

धन्यवाद, समाधान के लिए! – Dun0523

0

यह उदाहरण जीपीएस के साथ ऐप शुरू करने के मामले में यह सही काम करता है। लेकिन आपके डिवाइस में जीपीएस से शुरू हो रहा है, और इसके बाद, ऐप में प्रवेश करना और जीपीएस का चयन करना, फ़ंक्शन हमेशा जीपीएस टाइमआउट ERROR = 3. देता है इसके लिए कोई समाधान?
मैं यहाँ इस त्रुटि पोस्ट किया है: When I start the App with GPS off , and later GPS is activated, Location is not detected

संबंधित मुद्दे