API Карт - Отключить части карты
Я делаю некоторые исследования для того, что Map API использовать для будущего проекта.
Основным требованием является возможность блокировки карты и возможность отключения частей карты.
Подумайте о карте специального назначения для Европы, где я хотел бы отключить и выделить серые неевропейские страны.
Щелчок по этим серым областям ничего не должен делать, что означает для всего мира, кроме Европы.
Итак, возможно ли отключить большие части карты? Можно ли добавить слои для границ для каждой страны, на которую можно нажимать, например, в Германии?
Я смотрю на Bing или Google Maps на данный момент. Какой из них более дружественный к разработчикам?
Bing выглядит намного приятнее с высоты птичьего полета, намного проще читать карту и знать, на что вы смотрите. Я нахожу, что Google полон беспорядка, и мне всегда трудно понять, на что я смотрю.
1 ответ
Возможный подход (google-Maps): использовать полигон с несколькими путями.
- 1 путь для всего мира (вершины определены по часовой стрелке)
- другие пути для включенной области (вершины определены в обратном порядке по часовой стрелке)
Результатом будет многоугольник, который охватывает весь мир с отверстием для активной области. Карта не будет реагировать на события щелчка за пределами разрешенной области (потому что она покрыта многоугольником). Карта по-прежнему будет реагировать на dblclick и увеличивать масштаб, но этого можно избежать, отменив распространение события dblclick многоугольника.
Было бы невозможно выделить серым цветом нерасширенную область, но вы можете использовать fillColor многоугольника, чтобы указать, какая часть карты отключена.