Интернет - Как получить местоположение пользователя после согласия на его размещение? - PullRequest
0 голосов
/ 25 апреля 2018

Когда я вызываю это после загрузки страницы:

navigator.geolocation.getCurrentPosition(success, error, options) выдает ошибку: [Нарушение] Запрашивает информацию о геолокации только в ответ на жест пользователя.

Я использую Chrome v65 на Mac.Мне нужно поделиться местоположением пользователя, когда страница загружается.Это для пользователей, которые уже согласились поделиться своим местоположением.


Если я имитирую местоположение в веб-консоли Chrome, он всегда может надежно получить местоположение с помощью getCurrentPosition или watchposition.Я заметил, что различные соединения Wi-Fi более надежно предоставляют эту информацию.Кто-нибудь может добавить какое-либо понимание в отношении этого?

1 Ответ

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

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

Обратитесь к следующему ресурсу для получения дополнительной информации

Пользователи недоверчивы или смущены страницами, которые автоматически запрашивают свое местоположение при загрузке страницы. Вместо того, чтобы автоматически запрашивать местоположение пользователя при загрузке страницы, свяжите запрос с жестом пользователя, например нажатием кнопки «Найти магазины рядом со мной». Убедитесь, что в жесте четко и недвусмысленно выражена необходимость определения местоположения пользователя.

...