Как увеличить максимальное количество маркеров на картах 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
метод, который вы используете, обрезает значения, если долгота/широта выходят за пределы, что в этом случае поместит несколько маркеров в одно и то же место.
Кроме того, вы всегда можете открыть вопрос с репродукцией, и мы посмотрим.