Google maps geojson geometrycollection показывает только одну геометрию

На моем уровне данных GEOJSON у меня есть набор из примерно 20 регионов. У каждого объекта есть GeometryCollection с двумя геометрическими формами: Polygon, определяющий область, и Point, задающий центр области.

Я хочу, чтобы полигоны были невидимыми, но отображали точки на карте в виде маркеров.

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

Можно ли показать на карте только точки и сделать их видимыми / невидимыми отдельно от полигонов? Я знаю, что могу добавить их на карту как маркеры обычным способом, например.

new google.maps.Marker(etc)

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

Используйте маркеры. Это способ добавления «точек» на карту.

MrUpsidown 11.04.2018 20:34

Это один способ, но кажется, что уровни данных более эффективны, и я хотел бы исследовать, возможно ли это. Если нет, я пойду с маркерами.

user2470281 12.04.2018 13:29
1
2
723
1

Ответы 1

GEOJson в основном представляет собой «набор функций», что означает, что он может содержать различные функции (и типы объектов: Point, MultiPoint, Polygon и т. Д.).

В вашем случае вы можете иметь свои полигоны и точки как отдельные объекты. Затем вы можете выполнять различные операции с каждой функцией отдельно. Вы можете удалить объект или изменить его стиль.

Вы можете использовать map.data.getFeatureById('your_feature_id');, а затем использовать один из доступные методы уровня данных, например remove или overrideStyle.

В качестве примера проверьте эта скрипка, который демонстрирует, как вы можете добавить несколько точек (MultiPoint) и многоугольник к слою данных, а затем скрыть / показать только один объект.

Надеюсь это поможет.

Другие вопросы по теме