2013-07-19 5 views
0

사용자의 위치를 ​​감지했을 때 함수를 호출하려고하는데, setTimeout() 함수를 사용하고 있는지 확인해야합니다. 그것없이 어떻게 얻을 수 있습니까? 지금은Google지도 API에서 사용자의 위치를 ​​감지 할 수있는 "onsuccess"방법이 있습니까?

_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)); 
    } 
}, 

, 나는 시스템이 사용자의 위치를 ​​도착하기 전에() JS 호출 _loadByUserLocation을 피하기 위해에서는 setTimeout() 함수를 사용해야합니다.

어떻게 해결할 수 있습니까?

+0

설명서에서 이에 대한 설명은 무엇입니까? – putvande

+0

대답입니까? – hugalves

+0

아니요, 단지 의견입니다. 아마도 설명서에있을 것입니다. 그것이 바로 이유입니다. – putvande

답변

0

GetCurrentPosition에는 이미 설명 된대로 기본적으로 (성공, 오류, 옵션) 3 가지 옵션이 있습니다. MDN 사이트의 예와 끝을 살펴보십시오.

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

https://developer.mozilla.org/en-US/docs/Web/API/window.navigator.geolocation.getCurrentPosition

당신은 사용자의 위치를 ​​감지하는 구글 API에 액세스하지 말아

는, 브라우저 API를 이잖아.

+0

내가 한 방식은 지침서와 비슷하다고 생각합니다. 그러나, 나는하지 않는다. – hugalves

관련 문제