2016-10-30 1 views
1

출력 지오 좌표는 첫 번째로드에서만 정확합니다. 문제는 iPhone 화면이 시간 초과되고 위치 서비스가 시간 초과 될 때입니다. 그리고 사파리를 다시 열면 지리적 좌표가 100 미터 나 떨어집니다. 사파리 앱을 배경으로 밀면 같은 일이 발생합니다. 위치 정보를 요청하는 사파리 탭을 다시로드하거나 사파리 앱 캐시를 지우고 다시 사파리를 열면 문제가 해결됩니다. 왜 이런 일이 일어나는 걸까요? 내 유스 케이스에는 목적지로 안내하는 화살표가 표시됩니다. 따라서 사용자가 위치 서비스 시간 초과로 연결되는 경우 가끔 전화가 끊기는 경우가 있습니다. iOS 크롬은이 동작을 모방하지 않으며 예상대로 작동합니다. 즉, 지오 좌표는 항상 포커스 및/또는 화면 시간 초과 탭 이후의 정확한 이벤트입니다.위치 서비스를 사용하는 모바일 사파리에서 geolocation.watchPosition() 사용

답변

0

왜 이런 일이 발생하는지 정확히 알 수는 없지만 나에게도 마찬가지입니다. window.setInterval을 사용하여 매 5 초마다 함수를 호출하여 위치가 업데이트되었는지 여부를 확인함으로써 문제를 해결할 수있었습니다. 그렇지 않은 경우 함수는 Geolocation watch를 중지하고 다시 시작합니다.

Geolocation 시계를 다시 시작하면 페이지를 다시로드하는 것과 동일한 효과가 있습니다. 즉, 정확성이 다시 향상되고 위치 업데이트가 다시 시작됩니다. 희망이 도움이됩니다!

관련 문제