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
Post a Comment