2012-06-26 2 views
0

google geolocation 기능/api가 이동하지 않았 음을 감지하더라도 서버에 실제 요청을 보내는 지 아는 사람이 있습니까? 예를 들어, 와이파이 핫스팟과 강점이 마지막 위치 이후로 변경되지 않았다면 이동하지 않았다고 가정 할 수 있으므로 Google 서버에 갈 필요가 없습니다! 그들은 클라이언트에서 이런 종류의 로직 성능을 가지고 있습니까? Android 용 Google지도 API에 더 관심이 있습니다.google geolocation은 이동 중에 만 서버에 요청을합니까?

감사합니다.

답변

1

이상 : 네트워크 위치 API가 휴대 전화에 데이터를 캐시하므로 이동하더라도 요청하지 않아도됩니다. 내 넥서스 원에 볼 수있는 로그의

예 :

내가 본 바로는
D/androidNlpServiceThread( 194): adding listener com.[email protected]405575e8 with period 45 
D/androidNetworkLocationListeners( 194): Still have listener com.[email protected]405575e8 
D/androidNlpServiceThread( 194): adding listener com.[email protected]405575e8 with period 45 
D/androidNetworkLocationListeners( 194): Still have listener com.[email protected]405575e8 
D/WifiLocator( 194): Good cache hits. Computing WiFi location locally hasLocation=4 noLocation=0 cacheMiss=0 
D/WifiLocator( 194): Computing location using MaxLre. 
D/WifiLocator( 194): Finished computing WiFi location: WifiLocationResult [position=Position [redacted], confidence=78, outliers=[]] 
D/CellLocator( 194): Found cell location: Position [redacted] 
D/androidNlpServiceThread( 194): reporting Location[mProvider=network,mTime=1340791812841,mLatitude=****,mLongitude=****,mHasAltitude=false,mAltitude=0.0,mHasSpeed=false,mSpeed=0.0,mHasBearing=false,mBearing=0.0,mHasAccuracy=true,mAccuracy=42.0,mExtras=Bundle[{networkLocationSource=cached, networkLocationType=wifi}]] 
D/ClientReporter( 194): reported location 
+0

, 클라이언트는 위치 정보 API를 자신의 MAC 주소와 근처 와이파이 핫스팟의 맥 주소와 SID를 Google에 전송하고, 그들의 신호 강도; 이 정보가 있으면 Google의 응답에는 예상 좌표와 정확도가 포함됩니다. 그렇다면 안드로이드 폰 캐시는 정확히 어떤 데이터입니까? 안드로이드가 캐시 데이터를 사용할지 또는 Google 서버를 다시 쿼리할지 결정하기 위해 사용하는 기준은 무엇입니까? – cesarmax

+0

그것은 주위에있는 핫스팟의 bssids를 캐시하여 서버에 가지 않고 로컬에서 쿼리 할 수 ​​있도록합니다. "misses"가 너무 많으면 서버로 이동합니다. Nexus와 같은 HTC 전화기의 로그에서 확인할 수 있습니다. 원본 답변에 로그를 추가했습니다. –

+0

만족 스럽다면 대답을 지정하십시오. 그렇지 않다면 이유를 알려주십시오. –

관련 문제