Диспетчер кластеров карт Google - PullRequest
0 голосов
/ 13 февраля 2010

Я использую карты Google в своем приложении. Я должен показать 100 маркеров на карте.

Сначала я подготовил массив маркеров из этих маркеров.

Когда маркеры добавляются с помощью addOverlay из массива маркеров, это занимает некоторое время, и они добавляются каким-либо анимированным способом (по порядку).

Я хочу, чтобы все они были добавлены на карту одним выстрелом, поэтому эффект мерцания отсутствует.

Я попробовал MarkerClusterer, но он показывает кластер маркеров, где это необходимо. Вместо этого я хочу, чтобы появлялись все маркеры, а не кластер. Только они должны быть добавлены быстрее.

var point = new GLatLng(latArr[i],lonArr[i]);

var marker = new GMarker(point,markerOptions);                              
markers[i] = marker;

var markerCluster = new MarkerClusterer(map, markers);

Есть предложения, пожалуйста? Спасибо.

Ответы [ 2 ]

0 голосов
/ 20 мая 2010

Вместо использования clusterterer вам следует вызывать addOverlay (markers [i]) в цикле. Это будет работать так же быстро, как движок рендеринга javascript сможет его выполнить.

0 голосов
/ 03 апреля 2010

Несколько вопросов, которые помогут ...

1) Пример, который вы разместили, не имеет смысла. Можете ли вы предоставить больше контекста с циклом?

2) На каком клиенте это?

3) Какую версию кластерной библиотеки вы используете.

Я добавляю в этот вызов более чем в 6 раз больше точек, где markerCollection - это массив GMarkers, который собирается заранее. Без мерцания.

markerCluster = new MarkerClusterer(map, markerCollection, clusterOptions);
...