2012-01-18 8 views
1

У меня проблема с API Карт Google. Мне нужно отобразить, например, 200 маркеров на карте Google. Поэтому я делаю это:Google Maps API Marker

$gmap->addMarkerByAddress(location,type,picture); 

Для всех моих различий маркеров. И тогда я это делаю:

$gmap->generate(); 
echo $gmap->getGoogleMap(); 

Это хорошо работает, но для отображения карты требуется много времени. Я хотел бы сгенерировать карту, а затем отображать маркеры по одному на карте, поэтому пользователю не нужно ждать 3 минуты, чтобы увидеть результаты. Любая идея, как я мог это сделать? Спасибо вам большое!

EDIT: Дополнительный код:

$gmap = new GoogleMapAPI('thisismykey'); 

(Вы можете нашли содержание GoogleMapAPI здесь: frenchtoast.fr/friendsmap/examples/GoogleMapAPIclass.txt), а затем все инициализации:

$gmap->setDivId('test1'); 
$gmap->setDirectionDivId('route'); 
$gmap->setEnableWindowZoom(false); 
$gmap->setEnableAutomaticCenterZoom(true); 
$gmap->setDisplayDirectionFields(true); 
$gmap->setSize(600,600); 
$gmap->setZoom(3); 
$gmap->setDefaultHideMarker(false); 

I Добавить мои 200 маркеров с:

$gmap->addMarkerByAddress(location,type,picture); 

А потом Создание карты

$gmap->generate(); 
echo $gmap->getGoogleMap(); 
+0

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

+0

Это не очень важно, потому что пользователь сможет увидеть эволюцию результатов. Это не будет пустой страницей в течение 3 минут ... –

+0

Единственный способ понять это - потребовать, чтобы вы отправили больше кода. Это невозможно (для меня в любом случае), чтобы помочь вам без дополнительного кода. –

ответ

0

При использовании V2, то я хотел бы попробовать с MarkerClusterer или KML наложения (ссылка Роберта) в зависимости от использования.

Однако переход на V3 избавит вас от всей проблемы, потому что 200 больше не «слишком много» маркеров, и даже когда вы добавляете слишком много (1000+), сам API обрабатывает их по-разному, чтобы упростить (и быстрее) для вашего браузера. И вы все равно можете использовать MarkerClusterer на V3.

Для примера вживите эту демонстрационную версию. Это V3, но все, кроме FusionTablesLayer, доступны в V2: http://gmaps-samples-v3.googlecode.com/svn/trunk/toomanymarkers/toomanymarkers.html