jquery - Is there a "onsuccess" method for detect user's position on google maps api? -


i'm trying call function when i've detected user's position, way i've got ensure using settimeout() function. how can without it?

_detectuserlocation: function(map, marker) {   self = this;   if (navigator.geolocation) {     navigator.geolocation.getcurrentposition(function(position) {       var pos = new google.maps.latlng(position.coords.latitude, position.coords.longitude);        map.setcenter(pos);       map.setzoom(12);       marker.setposition(pos);        self._updateaddresspartsviareversegeocode(marker.getposition());       settimeout(function() {         self._loadbyuserlocation(self.parsed);       }, 2000);     }, function(error) {       marker.setposition(new google.maps.latlng(-23.5489433, -46.6388182));     }, { timeout:5000 });   }    else {     marker.setposition(new google.maps.latlng(-23.5489433, -46.6388182));   } }, 

for now, have use settimeout() function avoid js call _loadbyuserlocation() before system got user's position.

how can fix it?

getcurrentposition has 3 options set default (success, error, options), stated in comments already. take example , end of mdn site.

navigator.geolocation.getcurrentposition(success, error, options); 

https://developer.mozilla.org/en-us/docs/web/api/window.navigator.geolocation.getcurrentposition

you dont access google api detect users position, thats browser api.


Comments