@Hexara wrote:
One of my app function is to get user current location and load the google map using ngCordova geolocation pluggin, and it works great, the problem that I encounter is when I load the app without internet connection then reconnect the internet and recall the map function, it gives me an error google is not defined at $cordovaGeolocation.getCurrentPosition at console. any idea what is the problem?
- Load app without internet
- Connect to the internet
- Recall map function
- get error google is not defined at $cordovaGeolocation.getCurrentPosition
map.js
controllerModule.controller('MapCtrl', function($scope, $rootScope, $state, $cordovaGeolocation, $ionicPopup) { $scope.getCoord = function() { console.log("Called"); $rootScope.show(); $scope.LocationFail = false; var options = { timeout: 10000, enableHighAccuracy: true }; $cordovaGeolocation.getCurrentPosition(options).then(function(position) { var latLng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude); var mapOptions = { center: latLng, zoom: 15, mapTypeId: google.maps.MapTypeId.ROADMAP }; $scope.map = new google.maps.Map(document.getElementById("map"), mapOptions); //Wait until the map is loaded google.maps.event.addListenerOnce($scope.map, 'idle', function() { var marker = new google.maps.Marker({ map: $scope.map, animation: google.maps.Animation.DROP, position: latLng }); var infoWindow = new google.maps.InfoWindow({ content: "You are here!" }); google.maps.event.addListener(marker, 'click', function() { infoWindow.open($scope.map, marker); }); }); $scope.LocationFail = false; $rootScope.hide(); }, function(error) { var alertPopup = $ionicPopup.alert({ title: 'Oops..', template: '<center>Could not get location</center>' }); // console.log("Could not get location"); $scope.LocationFail = true; $rootScope.hide(); }); } $scope.getCoord(); });index.html
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width"> <title></title> <link href="lib/ionic/css/ionic.css" rel="stylesheet"> <link href="css/style.css" rel="stylesheet"> <!-- IF using Sass (run gulp sass first), then uncomment below and remove the CSS includes above <link href="css/ionic.app.css" rel="stylesheet"> --> <!-- ionic/angularjs js --> <script src="lib/ionic/js/ionic.bundle.js"></script> <script src="lib/ngstorage/ngStorage.min.js"></script> <!-- cordova script (this will be a 404 during development) --> <script src="lib/ngCordova/dist/ng-cordova.js"></script> <script src="cordova.js"></script> <!-- your app's js --> <script src="js/app.js"></script> <script src="js/controllers.js"></script> <script src="js/controllers/intro.js"></script> <script src="js/controllers/map.js"></script> <script src="http://maps.google.com/maps/api/js?key=AIzaSyBdwhOpne8C0tSnyCHOCD1vrTJdxziPgDQ&sensor=true"></script> </head> <body ng-app="starter"> <ion-nav-bar class="bar-light" align-title="center"> <ion-nav-back-button> </ion-nav-back-button> </ion-nav-bar> <ion-nav-view></ion-nav-view> </body> </html>an error message
ionic.bundle.js:20434 ReferenceError: google is not defined at $cordovaGeolocation.getCurrentPosition.then.$ionicPopup.alert.title (map.js:17) at processQueue (ionic.bundle.js:22016) at ionic.bundle.js:22032 at Scope.$eval (ionic.bundle.js:23228) at Scope.$digest (ionic.bundle.js:23044) at ionic.bundle.js:23267 at completeOutstandingRequest (ionic.bundle.js:13732) at ionic.bundle.js:14112(anonymous function) @ ionic.bundle.js:20434(anonymous function) @ ionic.bundle.js:17384processQueue @ ionic.bundle.js:22024(anonymous function) @ ionic.bundle.js:22032$eval @ ionic.bundle.js:23228$digest @ ionic.bundle.js:23044(anonymous function) @ ionic.bundle.js:23267completeOutstandingRequest @ ionic.bundle.js:13732(anonymous function) @ ionic.bundle.js:14112 66VM249:35 WebSocket connection to 'ws://localhost:35729/livereload' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSEDWrappedWebSocket @ VM249:35__connector.Connector.Connector.connect @ livereload.js?snipver=1:191(anonymous function) @ livereload.js?snipver=1:172(anonymous function) @ livereload.js?snipver=1:292(anonymous function) @ livereload.js?snipver=1:283
Posts: 4
Participants: 2