Я написал страницу карты, которая использует геолокацию для определения местоположения пользователя.Когда пользователь нажимает кнопку, этот javascript называется:
if (navigator.geolocation) {
wpid = navigator.geolocation.watchPosition(function (position) {
setUserPosition(position, "Your location", pollUserPosition);
},
function() { handleNoGeolocation(true); },
{ enableHighAccuracy: false, maximumAge: 30000, timeout: 10000 }
);
}
Насколько я понимаю, watchPosition начнет опрашивать местоположение пользователя до тех пор, пока ему не будет приказано остановиться.Это делается путем вызова clearWatch и передачи wpid из вызова watchPositon.setUserPosition создаст маркер на карте на основе местоположения в позиции.Когда я тестирую эту страницу в мобильном сафари, иногда я получаю два начальных местоположения, отмеченных на карте.Кто-нибудь знает, почему я вернул две локации и как я могу вернуть только одну?Это из-за того, что местоположение возвращается как с помощью сотового соединения, так и с помощью Wi-Fi на iPhone?
Обновление: В качестве теста я отключил WiFi на телефоне и проверил страницу картыснова.К сожалению, я все еще получаю два начальных местоположения, когда я вызываю watchPosition.