Я подтвердил тот же эффект. Хром прибивает меня к тому, что слишком близко ... страшно близко. Принимая во внимание, что Firefox пропустил около 500 миль и целое состояние.
Так что же дает?
Когда вы входите в документацию geoLocation HTML5, вы обнаружите, что API по определению агностик об источнике вашей службы geoLocation.
Это может быть устройство с поддержкой GPS, это может быть сеть Cell Tower, это может быть через горячие точки WIFI, или это может быть через Geo-IP.
Таким образом, в качестве фона я сформулировал гипотезу о том, что Chrome использует горячие точки WIFI, но Firefox возвращается к GeoIP. (Многие сайты легко предоставят вам GeoIP ... и, конечно же, мой GeoIP появится в Hood Oregon или где-то вдали от того, где я на самом деле. - Виноват это в ISP, я думаю.)
Так что с этим info in hand, когда я проверяю свою геолокацию с помощью Firefox, достаточно уверен: Hood Oregon.
Но, как я уже сказал, когда я проверяю свое геолокация с помощью Chrome: практически на месте.
Что я не упоминал до сих пор, но то, что критично для моей гипотезы, заключается в том, что до этого времени я проводил свои тесты с помощью своего ноутбука с поддержкой WIFI.
На тесту 2:
Отключить WIFI на ноутбуке, подключить ноутбук к маршрутизатору через сетевой кабель, и повторите описанные выше тест GeoLocation с помощью Chrome.
Результаты: Chrome помещает меня прямо там, где сделал Firefox, далеко в Худ Орегоне.
Эмпирические Вывод:
Chrome рассчитывает GeoLocation с использованием WIFI точек доступа, если имеется, в то время как Firefox не делает.
API-интерфейс GeoLocation HTML5 имеет флаг «Высокая точность», который по умолчанию установлен в False. Возможно, это так же просто, как Chrome устанавливает значение True, а FireFox - нет.
последующий вопрос:
Как можно подглядывать поток данных, чтобы проверить это?
Попробуйте этот вопрос http://stackoverflow.com/questions/4213410/how-does-html5-geolocation-work –