2013-09-11 2 views
1

Я занимаюсь некоторыми исследованиями того, что Map API будет использовать для предстоящего проекта.Maps API - Отключить части карты

Главное требование - возможность блокировки карты и возможность отключения частей карты.

Подумайте о карте специального назначения для Европы, где я хотел бы отключить и вычеркнуть неевропейские страны.

Щелчок по тем серым областям ничего не должен делать, что означает для всего мира, кроме Европы.

Итак, можно ли отключить большие части карты? Можно ли добавлять слои для границ для каждой страны, которые можно щелкнуть, например, в Германии?

Я рассматриваю Bing или Google Maps на этом этапе. Какой из них более полезен для разработчиков?

Bing выглядит намного лучше с птичьим глазом, гораздо легче читать карту и знать, на что вы смотрите. Я нахожу, что Гуглы полны беспорядка и всегда испытывают проблемы с пониманием того, на что я смотрю.

+0

Ваш последний абзац, если я правильно его понимаю, вы можете изменить внешний вид карты, если хотите. – alkis

+0

Да, но все же, Google Map я нашел менее удобным, хотя ... Я думаю, что они, как правило, немного выделяют вещи, плюс вы не можете повернуть карту. Если вы идете по дороге, чтобы взять левую, вы не хотите смотреть вверх дном. – momomo

+0

Вы правы, я думаю. Я об этом не думал, так как я никогда не занимался такими ситуациями. Думаю, единственная причина, по которой вы выбрали google maps api, - это данные карт Google. – alkis

ответ

0

Возможный подход (google-Maps): использовать многоугольник с несколькими путями.

  • 1 путь для всего мира (вершины, определенных по часовой стрелке)
  • других путей для задействованной области (вершины, определенных в обратном порядке по часовой стрелке)

Результат будет представлять собой многоугольник, который охватывает весь мир с отверстием для разрешенной области. Карта не будет реагировать на события кликов вне разрешенной области (потому что она покрыта полигоном). Карта по-прежнему будет реагировать на dblclick и увеличивать масштаб, но этого можно избежать, отменив распространение события dblclick для многоугольника.

Невозможно оторвать рассеянную область, но вы можете использовать fillColor полигона, чтобы сигнализировать, какая часть карты отключена.

 Смежные вопросы

  • Нет связанных вопросов^_^