Как увеличить максимальное количество маркеров на картах Vaadin?

В Vaadin Maps (Vaadin 23) я обнаружил, что на карте отображается только определенное количество маркеров. Как мне, например, показать 500 маркеров (как в 500 местах в коде ниже)?

      locations.stream().forEach(location -> {
        Coordinate coordinate = Coordinate.fromLonLat(Double.parseDouble(location.getLon()), Double.parseDouble(location.getLat()));
        MarkerFeature customerMarker = new MarkerFeature(coordinate);
        map.getFeatureLayer().addFeature(customerMarker);
    });

1 ответ

спасибо, что ознакомились с новым компонентом карты.

Не должно быть никаких ограничений на количество маркеров, которые вы можете добавить ни из компонента Vaadin, ни из базовой библиотеки OpenLayers.

Вот пример, отображающий 500 маркеров:

      int numMarkers = 500;
double x = 0;
double y = 0;

for (int i = 0; i < numMarkers; i++) {
    // Display ten rows of fifty markers
    if (i % 50 == 0) {
        y += 1000;
        x = 0;
    } else {
        x += 1000;
    }

    Coordinate coordinate = new Coordinate(x, y);
    MarkerFeature marker = new MarkerFeature(coordinate);

    map.getFeatureLayer().addFeature(marker);
}

Одна вещь, которую вы можете проверить, это действительно ли все местоположения имеют уникальные координаты, возможно, есть некоторые совпадения. Например Coordinate.fromLonLatметод, который вы используете, обрезает значения, если долгота/широта выходят за пределы, что в этом случае поместит несколько маркеров в одно и то же место.

Кроме того, вы всегда можете открыть вопрос с репродукцией, и мы посмотрим.

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