Взаимодействие с обнаружением геолокации Google - PullRequest
0 голосов
/ 21 апреля 2011

У меня две проблемы с определением местоположения Google.Я использую основной код этого примера: http://code.google.com/intl/de-DE/apis/maps/documentation/javascript/examples/map-geolocation.html

1.) Когда посетитель отклоняет свое местоположение, которое будет обнаружено, карта не будет отображаться.Это наносит вред сайту.Как я могу показать запасную карту со стандартной функциональностью и без определения местоположения?

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

Ответы [ 2 ]

2 голосов
/ 21 апреля 2011

В части else функции handleNoGeolocation вы предоставляете свой запасной код, указывающий местоположение по умолчанию или другое средство определения местоположения.

Вот альтернативная структура для функций, которая немного суше и использует геолокацию IP-адресов Google для отступления:

if (navigator.geolocation) {
  navigator.geolocation.getCurrentPosition(updatePosition, ipPosition, { options... });
} else {
  ipPosition();
}

function ipPosition() {
  updatePosition(google.loader.ClientLocation);
}

function updatePosition(position) {
  if (position == null) {
    return updatePosition(defaultPlace());
  }

  // Firefox 3.6 passes in a non-standard position object with lat/lng at the top level instead of in .coords
  var coords = (position.hasOwnProperty("coords")) ? position.coords : position;
  if (coords == null) {
    return updatePosition(defaultPlace());
  }

  [...]
}
0 голосов
/ 21 апреля 2011

В этом примере есть функция handleNoGeolocation, которую они используют, когда пользователь не имеет или отклоняет позиционирование.Используя ту же технику, вы сможете справиться с сокрытием карты.

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