2013-03-21 3 views
3

HTML5 위치 정보를 테스트 중입니다. Opera와 Opera Mobile에서 이상한 결과가 있습니다.Opera의 Geolocation 구현

마지막 방문 직후 시간이 지난 후 얼마 동안 (예 : 25 분) 사이트를 방문했을 때 과거 시간입니다. 그러나 나는 5 초가 지나지 않은 위치를 원한다는 옵션을 전달합니다. 페이지를 새로 고친 후 위치 타임 스탬프가 '지금'에 가깝습니다. 나는 매 방문마다 '지금'에 가까운 위치 타임 스탬프를 반환해야한다고 생각합니다.

예 :

처음 방문 : 위치 시간 스탬프 23시 23분 13초

가까운 브라우저 : 23시 45분 20초에서 사이트에

반환 : 위치 타임 스탬프 23시 25분 21초

새로 고침 : 위치 타임 스탬프 23시 45분 11초

여기

내 API 호출 :

,369 설정이 느릅 나무들 사이에서 나에게 위치 정보 설정에 대한 액세스를 제공 I 보내기를 발견 몇 분 전에 나는 오페라는 사실을 알게 : 1,363,210

navigator.geolocation.getCurrentPosition(geoSuccess, geoError, { maximumAge: 5000, timeout: 10000, enableHighAccuracy: true });

당신은 편집

geotest.apphb.com

내가 테스트를 위해 만든 푸른 웹 사이트에이를 관찰 할 수있다 위치 요청은 변경시에만 적용됩니다. geolocation API를 해제하면 예상대로 작동합니다. 하지만이 설정을 이해하지 못합니다. 위치 요청을 보내려면 무엇을 변경해야합니까? Geolocation api에서이 설정을 사용하면 몇 시간 전부터 위치 정보를 얻을 수 있습니다. 비록 내가 다른 도시에 이미있다.

답변

2

, 단 하나의 변화에 보내기 위치 요청을 의미 다음 데이터 공급자의 일부 (와이파이, 세포 등)이 실제로 변경 한 경우

만 위치 요청을 보냅니다.

그래서 도시를 변경하면 위에서 언급 한대로 데이터 제공 업체를 변경하지 않았다고 가정합니다. Wi-Fi 액세스 포인트를 찾거나 다른 기술을 사용하여 인터넷에 액세스하는 경우 아마도 위치 요청을 보내 업데이트 될 것입니다.

+0

을 무시합니다. 내가 현상금을 갱신 할 수 있는지 아십니까? 이것을 확인하는 시간이 필요합니다. –

+0

@Peri 솔직히 현상금을 갱신 할 수 있는지 모르겠습니다. 나는 [현상금 시스템이 어떻게 작동하는지] (http : //meta.stackexchange.co.kr/questions/16065/how-does-the-bounty-system-work) 그러나 그것을 확장하는 것을 찾지 못했습니다. 또한, [socks 프록시를 사용하여 이것을 테스트 할 수 있습니다] (http://stackoverflow.com/questions/10495855/how-to-test-ip-address-geolocation-service). – BPaasch

+0

@BPaasch는 [** 자동 수여 란 무엇입니까? **] (http://meta.stackexchange.com/questions/16065/how-does-the-bounty-system-work)를 확인하십시오. 현상금 선발이 현상금을 수동으로 수여하지 않으면 현상금 기간이 끝난 약 24 시간 후에 현상금은 자동으로 수여 될 것입니다. " – fitheflow

0

페이지가 이미로드되었으므로 getCurrentPosition은 페이지가로드되었을 때의 위치 (페이지로드시 사용자의 현재 위치)라고 가정합니다.

watchPosition을 사용하면 페이지를 다시로드하지 않고도 위치를 계속 업데이트 할 수 있습니다. Opera's config website for Windows에 따르면

+0

이전에 방문한 후 몇 시간 후에 페이지를 방문 할 수 있으며 이전 위치 - 다른 도시를 계속 표시 할 수 있습니다. –

+0

아마도 캐시 된 것으로 간주되며 WatchPosition을 시도했습니다 (동일한 매개 변수를 허용 함) ? – fitheflow

+0

예. 캐시됩니다. 그것이 문제이다. 내 매개 변수 {maximumAge : 5000} –