0

Мы внедряем веб-сайт, используя AngularJS и API Карт Google. Пользователь может ввести ключевое слово и затем перенаправляется на новую страницу, содержащую карту с несколькими маркерами (представляющими результаты). На этой странице результатов браузер всегда запрашивает местоположение пользователя. Когда пользователь выбирает «deny», тогда карта переходит в положение 0,0 (где-то в море).API Карт Google - браузер всегда запрашивает местоположение

  1. Возможно ли предотвратить проверку местоположения браузера?
  2. Если нет, есть ли событие, которое можно поймать, так что я могу изменить, куда перескакивает карта?

Airbnb.com также использует Карты Google, и там браузер никогда не запрашивает местоположение пользователя.

Рекомендации:

+0

Разве это не где-то в документах API? – Mouser

+0

Я просмотрел документацию и другие сообщения, но не смог найти решение. – Primi

ответ

2

Возможно ли предотвратить проверку местоположения браузера?

Нет, по очевидным соображениям безопасности, эту проверку нельзя отключить от JavaScript. Но пользователь может «запомнить» выбор, чтобы разрешить доступ к местоположению из Chrome.

Если нет, есть ли событие, которое можно поймать, поэтому я могу изменить место, куда перескакивает карта?

Вы можете сделать что-то вроде navigator.geolocation.getCurrentPosition(showPosition,showError); с function showError(error) { switch (error.code) { case error.PERMISSION_DENIED: x.innerHTML = "User denied the request for Geolocation." break; case error.POSITION_UNAVAILABLE: x.innerHTML = "Location information is unavailable." break; case error.TIMEOUT: x.innerHTML = "The request to get user location timed out." break; case error.UNKNOWN_ERROR: x.innerHTML = "An unknown error occurred." break; } }

Edit: Для AirBnB вещи, можно использовать другой тип геолокации по IP-адресу, который не требует никакого разрешения, но ему не хватает точности , См. Это thread для получения подробной информации о геолокации по IP

+0

Спасибо за полезный вход! Поскольку наша страница каким-то образом похожа на airbnb, нам не нужно местоположение пользователя, потому что маркеры на карте зависят от ввода поиска. Использование геолокации по IP-адресу кажется интересным, но я не совсем уверен, как его использовать, соответственно, как объединить его с картами Google. Вы пробовали это раньше? – Primi

+0

Никогда не пробовал это раньше, но в этой теме есть больше объяснений: http://stackoverflow.com/questions/4937517/ip-to-location-using-javascript Но, похоже, это грязно, это реально нужно в вашем случае? – bviale

+0

Нет, на самом деле, я просто хочу избавиться от проверки местоположения браузера, так как мне не нужно текущее местоположение. – Primi