Геолокация не работает на мобильном телефоне, но работает на моем рабочем столе - PullRequest
0 голосов
/ 15 июня 2019

Я пытаюсь реализовать геолокацию в своем проекте, у меня уже есть API и прочее, весь необходимый код, но на мобильном телефоне, когда я пытаюсь получить доступ к местоположению, оно просто отображается, и на картах Google появляется сообщение об ошибке: «Ошибка: геолокация» служба не удалась. " но на моем рабочем столе все работает нормально.

code here

Ожидал того же, что происходит на моем рабочем столе, запрос на разрешение доступа к GPS, но ничего не происходит

1 Ответ

1 голос
/ 15 июня 2019

@ Pedro Teixeira - Если вы запускаете это приложение с веб-сервера, а не как локальную HTML-страницу.Вот почему это не работает для вас.

Почему геолокация не будет работать, если ваш сайт не использует HTTPS или по крайней мере страница, которую вы называете геолокацией, не является HTTPS? Chrome имеет публичное намерениеотказаться от мощных функций, таких как геолокация при небезопасном происхождении, и мы надеемся, что за этим последуют другие.

Начиная с Chrome 50, Chrome больше не поддерживает получение местоположения пользователя с помощью API геолокации HTML5 со страниц, предоставленных сторонними пользователями.безопасные соединения.Это означает, что страница, выполняющая вызов API геолокации, должна обслуживаться из безопасного контекста, такого как HTTPS.

Это важная проблема, поскольку она напрямую влияет на любой сайт, который требует использования API геолокации и не являетсяобслуживается через https, но мы считаем, что это изменение полезно для всех пользователей в Интернете.Этот пост должен помочь вам понять причину и порядок действий.

Поскольку, когда это изменение вступает в силу? Это изменение вступает в силу с Chrome 50 (12:00 по тихоокеанскому времени 20 апреля 2016 г.).

Почему мы вносим это изменение? Местоположение содержит конфиденциальные данные!Требование HTTPS требуется для защиты конфиденциальности данных о местоположении ваших пользователей.Если местоположение пользователя доступно из незащищенного контекста, злоумышленники в сети смогут узнать, где находится этот пользователь.Это серьезно подрывает конфиденциальность пользователей.

На кого это влияет? Это влияет на любую страницу, в настоящее время использующую API геолокации, со страниц, обслуживаемых по протоколу HTTP (небезопасный).Это также влияет на HTTPS-фреймы, которые используют Geolocation API, если они встроены в страницы HTTP.(Вы не сможете выполнить многократное заполнение с использованием общего фрейма HTTPS.)

Ответ на сайте разработчиков Google

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

Существует несколько вариантов отката, доступных дляполучить местоположение пользователя, на которое не влияют эти изменения, например API-интерфейс геолокации Google Maps, GeoIP (например, есть другие решения на основе гео) и введенный пользователем почтовый индекс.Тем не менее, мы настоятельно рекомендуем, чтобы лучший способ обеспечить постоянный доступ к геолокации - это перейти на HTTPS.

Пожалуйста, перейдите по этой ссылке для получения дополнительной информации https://developers.google.com/web/updates/2016/04/geolocation-on-secure-contexts-only

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