геолокация показывает неправильное местоположение на карте Google - PullRequest
9 голосов
/ 17 сентября 2011

Когда я использую http://html5demos.com/geo, чтобы найти себя, он показывает неправильное местоположение (неправильный город) в FF и Chrome.Любая причина, почему это происходит

Ответы [ 5 ]

7 голосов
/ 09 июля 2014

У меня была та же проблема с использованием Chrome в Windows, но я заставил его работать, по крайней мере, некоторое время.

Я также использовал пример http://html5demos.com/geo

Место было не только неточным, но и не в том городе.

Я попробовал тот же пример на своем iPad (Safari), и там его местоположение было правильным. Мой iPad использует ту же сеть Wi-Fi, что и мой компьютер, поэтому я знал, что проблема не в том, что провайдер вернул неправильное местоположение, а в браузере на моем ПК.

Я получил его, чтобы показать правильное местоположение в Chrome, зайдя в настройки Chrome и очистив кэш и куки.

Недостаточно просто выбрать в Chrome «Инструменты / Очистить данные браузера / Файлы cookie и кэш», это было только после того, как в Chrome я выбрал «Настройки / Конфиденциальность / Настройки контента / Все файлы cookie и данные сайта» и, удалив все файлы cookie, показал ли пример правильное местоположение.

Обновление 1: я попробовал тот же пример геолокации на следующий день, и, к моему раздражению, он снова показывал не тот город. Я попытался заставить его работать, очистив настройки Chrome, как описано выше, и на этот раз это решение не сработало. Однако, когда я использовал приложение CCleaner и выбрал Cleaner / Applications и очистил все данные Chrome (интернет-кеш, интернет-историю, куки-файлы и сеанс), пример гео показал правильное местоположение. Я использую последнюю версию Chrome. Надеемся, что в будущих версиях он будет работать более последовательно.

Обновление 2: я попробовал описанную выше процедуру позднее и не смог заставить ее создать правильное местоположение вообще. Возможно, геолокация теперь возвращает местоположение моего интернет-провайдера, а не мое местоположение, используя мой IP и Google Location Services. Конечно, это место довольно бесполезно. Причина, по которой мой iPad возвращает правильное местоположение, возможно, в том, что он содержит встроенный GPS. IPad 3G / 4G имеет чип GPS, встроенный в чип приемника GSM, в то время как модели WiFi только не имеют GPS. Когда в настройках iPad отключены «службы определения местоположения», местоположение через GPS и IP отключается. Было бы полезно просто иметь возможность отключить GPS на моем iPad и просто использовать IP-адрес, но я не уверен, возможно ли это.

Обновление 3. Как я уже упоминал, я использую в своем ПК WiFi-флешку. Я заметил, что когда я смотрю на доступные сети Wi-Fi (с просмотром доступных беспроводных сетей) и моя единственная сеть, пример геолокации возвращает местоположение в другом городе, но если у кого-то из моих соседей есть сеть WiFi в диапазоне мой компьютер, пример геолокации возвращает мое точное местоположение, с точностью до нескольких метров. то есть геолокация в браузере достаточно умна, чтобы использовать эту дополнительную информацию, чтобы найти меня.

(я думаю, что другие ответы на этот вопрос совершенно не на том пути. Спрашивающий утверждает, что местоположение показывалось не в том городе, поэтому вопрос не связан с точностью определения местоположения)

3 голосов
/ 06 ноября 2011

Разные устройства имеют разную степень точности, и важно, чтобы ваше приложение знало о разнице. Сотовый телефон с включенным в него блоком GPS, как правило, работает с точностью до трех метров. Сотовый телефон без блока GPS, с блоком GPS, отключенным для максимального заряда батареи, или в месте, где GPS не может связаться со спутниками GPS, должен будет использовать триангуляцию вышки сотовой связи для оценки местоположения пользователей и обычно является точным в пределах 3000 метров, которые достаточно точны, чтобы знать, в каком районе находится пользователь, но совершенно бесполезны, чтобы сообщить им, на какое здание они смотрят.

Если пользователь получает доступ к вашему сайту с компьютера, подключенного к наземному широкополосному соединению, он обычно может точно определить точный адрес, обратившись к базе данных поставщика и указав точный адрес от поставщика DSL или кабельного телевидения.

Чтобы получить точность информации о местоположении, вы можете запросить свойство точности объекта координат. Свойство точности не является точным ни в коем случае, но оно даст вашему приложению четкое представление о том, есть ли у вас почти точная позиция или район.

2 голосов
/ 21 сентября 2015

Согласно часто задаваемым вопросам о геолокации Firefox , Firefox использует Google для определения местоположения. Он отправляет Google следующую информацию:

  • Ваш IP-адрес
  • Информация о близлежащих точках доступа Wi-Fi
  • Случайный присвоенный Google идентификатор (меняется еженедельно)

Я предполагаю, что он также будет использовать данные GPS, если на вашем компьютере установлен ресивер, но в FAQ не упоминается об этом. Возможно, потому что нет необходимости использовать сервер Google, если у вас есть данные GPS.

Я предполагаю, что Chrome, как продукт Google, использует ту же базу геолокации.

Что касается того, почему вы получаете неправильные ответы, они будут храниться в базе данных Google. Там наверняка есть ошибки. Например, мой офисный компьютер обнаруживается в Мехико, хотя мой IP-адрес и IP-адрес прокси-сервера моего работодателя находятся в Плано, штат Техас, и все другие базы данных IP-адресов имеют правильное значение (взято из зарегистрированного Whois данные для адреса.)

Вот две страницы Google, которые, как они утверждают, помогут, хотя они еще ничего не сделали для меня:

Последний (contact / ip) представляет собой форму для сообщения о проблемах местоположения Google, которые проявляются в том, что Google перенаправляет вас на домашнюю страницу не той страны. Говорят, что исправление базы данных может занять больше месяца. Я ждал почти два месяца без удачи.

Существуют надстройки Firefox, которые можно использовать, чтобы заставить ваш браузер сообщать о конкретном местоположении. Они предназначены для отладки веб-сервисов с учетом местоположения, но их также можно использовать в таком случае, когда обычный метод не работает.

0 голосов
/ 17 апреля 2018

Я думаю, что если бы вы могли использовать метод watchPosition() вместо getCurrentPosition(), координаты будут слишком сильно обновляться, что даст лучший результат

примечание: лучше использовать другой браузер, кроме Chrome, он не поддерживает достаточно хороший метод watchPosition()

0 голосов
/ 17 сентября 2011

Я зависит от того, какой метод используется для определения вашего местоположения.Если он использует IP, то вы можете появиться где угодно.Если он использует Wi-Fi, то это могут быть просто предвзятые данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...