Клуб API Карт

clusterize -> clusterCaption

lt-master
5 мая 2016, 12:02

Всем привет.

Подскажите пожалуйста как можно смастерить xml файл с точками чтобы например при совпадении координат слева отображать какое либо название. Сама загрузка xml на карту работает, а вот куда правильно вставить clusterCaption проблема, вот сейчас есть такой XML, формируется через PHP:

<?
header("Content-type: text/xml");
print
'<?xml version="1.0" encoding="utf-8"?>
<ym:ymaps xmlns:ym="http://maps.yandex.ru/ymaps/1.x">
<Representation xmlns="http://maps.yandex.ru/representation/1.x" xmlns:gml="http://www.opengis.net/gml" xmlns:repr="http://maps.yandex.ru/representation/1.x">
<Style gml:id="userobject">
<iconContentStyle>
<template>#placemark</template>
</iconContentStyle>
<balloonContentStyle>
<template>#balloon</template>
</balloonContentStyle>
</Style>
<Template gml:id="placemark">
<text>$[metaDataProperty.AnyMetaData.number]</text>
</Template>
<Template gml:id="balloon">
<text><![CDATA[
				<div style="max-width:400px;*width:400px;">
				<b>$[name]</b>
				<div>$[description]</div>
				<div>Адрес:<br/>$[metaDataProperty.AnyMetaData.adr]</div>
				</div>]]></text>
</Template>
</Representation>
';

print
'<ym:GeoObjectCollection xmlns="http://www.opengis.net/gml">
<gml:name xmlns:gml="http://www.opengis.net/gml">Точки на карте</gml:name>
<featureMembers>
';


	
		foreach ($data as $record)
		{
			echo '<ym:GeoObject>';
			echo '';
			echo '<metaDataProperty xmlns:gml="http://www.opengis.net/gml" xmlns:repr="http://maps.yandex.ru/representation/1.x">';
			echo '<ym:AnyMetaData>';
			echo '<ym:number>'.$record['ID'].'</ym:number>';
			echo '<ym:adr>'.$record['adr_str'].'</ym:adr>';
			echo '</ym:AnyMetaData>';
			echo '</metaDataProperty>';
			echo '<name>'.$record['point_name'].'</name>';
			echo '<description>'.$record['description'].'</description>';
			echo '<Point>';
			echo '<pos>'.$record['latitude'].' '.$record['longitude'].'</pos>';
			echo '</Point>';
			echo '<ym:style>islands#darkOrangeCircleDotIcon</ym:style>';
			echo '';
			echo '</ym:GeoObject>';
		}
print 
'    </featureMembers>
    <ym:style xmlns:gml="http://www.opengis.net/gml" xmlns:repr="http://maps.yandex.ru/representation/1.x">#userobject</ym:style>
  </ym:GeoObjectCollection>
';  
print '</ym:ymaps>';

?>

1 комментарий
Подписаться на комментарии к посту
Никуда. Вариант с YMapsML требует пост-обработки на клиенте. Проще формировать на сервере JSON, и на клиенте использовать Кластеризатор или OM с опцией clusterize:true