как сохранить и восстановить положение карты в Google map v3

#google-maps #google-maps-api-3

#google-карты #google-maps-api-3

Вопрос:

Я использовал Google API версии 2 в своем предыдущем задании. Там я использовал map.savePosition() для сохранения текущего положения карты и map.returnToSavedPosition() для восстановления сохраненного положения. Я искал эквивалент в документации по api версии 3, но не смог найти соответствующих результатов. И если я использую map.savePosition() now с api-3, ошибка javascript сообщает «map.savePosition не является функцией«.

Может кто-нибудь, пожалуйста, сказать мне, какие есть способы сохранить и восстановить положение Карты Google в API 3?

Ответ №1:

Как было сказано выше, в версии V3 подобной функции нет. Это действительно легко реализовать самостоятельно.

Вот один из способов:

 var previousPosition;
function savePosition(map) {
  previousPosition = map.getCenter();
}

function returnToSavedPosition(map) {
  if (previousPosition) {
    map.panTo(previousPosition); // or setCenter
  }
}
  

… затем просто назовите это как:

 savePosition(map);
  

Просто, да?

Комментарии:

1. savePosition () / restorePosition () в версии v2 также сохранен / восстановлен уровень масштабирования.

2. Спасибо Броди за эту простую демонстрацию!

Ответ №2:

в версии v3 нет функции savePosition(). Вам нужно использовать getCenter () и getZoom () для получения текущего положения, а затем восстановить это положение с помощью setCenter () и setZoom ().