Маркер API Карт Google - PullRequest
       3

Маркер API Карт Google

1 голос
/ 18 января 2012

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

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

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

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

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

РЕДАКТИРОВАТЬ: Дополнительный код:

$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);

Я добавляю свои 200 маркеров с помощью:

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

И затем генерирую карту

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

Ответы [ 2 ]

0 голосов
/ 26 января 2012

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

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

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

0 голосов
/ 18 января 2012
...