Клуб API Карт

kml и setBounds

geovox
9 июля 2011, 19:39

Добрый день.

Можно ли использовать группу, полученную из kml-файла для определения отображаемой области карты?

Впрямую не получается:

 

 

var kml = new YMaps.KML("<?=$kml?>");

 

bounds = new YMaps.GeoCollectionBounds(kml);

map.setBounds(bounds);

 

 

 

В документации сказано, что .KML возвращает объект класса YMaps.GeoObjectCollection , а YMaps.GeoCollectionBounds в качестве параметра использует "набор геоточек. Принимает множество геоточек и рассчитывает их область видимости.".
Как передать группу GeoObjectCollection в виде "множества геоточек"?
Или есть другой способ отобразить KML с масштабированием по составу этого KML?

 

1 комментарий
Подписаться на комментарии к посту

Если в kml указана область

то можно попробовать что-то типа

 

var kml = new YMaps.KML("");

 

bounds = kml.getBounds();

map.setBounds(bounds);

 

Если нет, и bounds == null

тогда можно пройтись методом foreach по всем точкам коллекции и добавить их в 

YMaps.GeoCollectionBounds.