Google maps API V3: как установить одинаковые границы панорамирования, независимо от уровня масштабирования - PullRequest
2 голосов
/ 02 ноября 2011

Я создал пользовательскую карту (карту фэнтези) с картой Google API Api V3, и по умолчанию панорамирование не ограничено.Моя карта очень ограничена, я не хочу, чтобы пользователь мог перемещаться вне ее, независимо от масштаба.

Я читал об этом здесь: Как мне ограничить панорамирование на картах GoogleAPI V3?

Это хорошо, но почему-то не очень хорошо работает для каждого уровня масштабирования.

Вы можете увидеть проблему очень ясно здесь с тем же кодом: http://econym.org.uk/gmap/example_range.htm

В этом примере на уровне масштабирования по умолчанию вы можете видеть некоторые земли в правом верхнем углу карты («Берген»).Но чем больше вы масштабируете, тем больше эти земли уходят с карты и становятся недоступными.Это именно то, что я получаю со своей собственной картой с тем же сценарием ... Если я установлю для бодяров уровень масштабирования по умолчанию, чем больше я буду увеличивать, тем больше краев карты будет вне досягаемости.

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

Спасибо.

1 Ответ

1 голос
/ 24 марта 2012

Я не уверен на 100%, что слежу за вашими вопросами ... но я попробую. Этот пример работает так, чтобы проверить, что центр представления находится в границах ... таким образом, границы на самом деле меньше, чем в Бергене ... Верхний правый угол предела фактически находится в океане в центре вида при увеличении .. поэтому при увеличении центр находится в том же месте, а верхний правый становится ближе.

Решение состоит в том, чтобы заменить проверку центра проверкой границ.

if((allowedBounds.contains(map.getBounds()))...

Затем вы можете просто map.panToBounds (разрешеноBounds), если вы находитесь снаружи.

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

РЕДАКТИРОВАТЬ: вау .. старый вопрос ... да ладно :)

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