Предотвращение горизонтального переноса наложений в GMap v3 - PullRequest
4 голосов
/ 11 октября 2011

Я пытаюсь создать карту без горизонтального переноса, используя API Карт Google V3. Поэтому вместо того, чтобы повторять карту бок о бок снова и снова, я хочу показать ее только один раз. Я получил это для работы, предоставив пользовательскую функцию getTileUrl для google.maps.ImageMapType

Но когда я добавляю наложения (например, маркеры или полигоны), они все еще повторяются по горизонтали. Как я могу предотвратить повторение оверлеев по горизонтали?

Редактировать Вот изображение, демонстрирующее проблему: World-wrapping overlays

Я думал о том, чтобы как-то изменить метод google.maps.Projection.fromLatLngToPoint (), но по какой-то причине он, кажется, недоступен большую часть времени.

1 Ответ

2 голосов
/ 13 октября 2011

К настоящему времени я нашел способ сделать это.Решение не заключалось в измененной проекции, но вместо этого был вдохновлен этим вопросом об ограничении панорамирования в Google Maps .

На самом деле это не так чисто, как хотелось бы, но работает:

  1. Вместо того, чтобы начинать (показывать полную карту одной плиткой карты) на уровне масштабирования0, начните с более высокого уровня масштабирования.В моем случае я начал с уровня 3. Таким образом, «воображаемый» весь мир стал больше, раздвинув повторяющиеся наложения дальше: great distance between repeating overlays

  2. Ограничение уровня масштабирования,поэтому даже при самом низком уровне масштабирования область просмотра не содержит двух повторяющихся наложений.Это делается путем установки опции minZoom на карте на желаемый уровень.viewport does not contain two repeating overlays

  3. Ограничение панорамирования / перетаскивания карты, чтобы вы не могли выйти из нужной области.См. мой ответ на вопрос о панорамировании лимита .

Таким образом, повторяющиеся наложения все еще присутствуют, но вы никогда не сможете их увидеть, так как вы можетене доходить до них

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