имеется Яндекс-Карта, метка и данные для неё берутся из XML файла.
как работать с данными из этого XML, например просто вывести один из параметров на страничку, например в данном примере путь к данным элемента адреса выглядит так $[metaDataProperty.AnyMetaData.adres]
а вот например его использовать в условном операторе - если длина $[metaDataProperty.AnyMetaData.adres] больше нуля то X=25
HTML:
<html>
<head>
<link rel="stylesheet" type="text/css" href="http://rentony.ru/templates/ja_purity/css/template.css">
<script src="http://api-maps.yandex.ru/1.1/index.xml?key=ANtn7E4BAAAACo7PcwIAat5-ZairVPsQ4ariDjg9SXLy5LMAAAAAAAAAAABFFnoK6nwFd4BenllV0IBihBqVrA==" type="text/javascript"></script>
<script language="JavaScript" type="text/javascript">
YMaps.jQuery(function () {
map = new YMaps.Map(YMaps.jQuery("#YMapsID")[0]);
map.setCenter(new YMaps.GeoPoint(-1, -1));
s_3 = new YMaps.Style();
s_3.iconStyle = new YMaps.IconStyle();
s_3.iconStyle.offset = new YMaps.Point(-9, -51);
s_3.iconStyle.href = "img/point_3.png";
s_3.iconStyle.size = new YMaps.Point(36, 51);
s_3.iconStyle.shadow = new YMaps.IconShadowStyle();
s_3.iconStyle.shadow.href = "img/shadow_point.png";
s_3.iconStyle.shadow.size = new YMaps.Point(32, 38);
s_3.iconStyle.shadow.offset = new YMaps.Point(-2, -38);
template = new YMaps.Template(
"<table width=400 border=0 cellspacing=0 cellpadding=0><tr height=25><td>N $[metaDataProperty.AnyMetaData.number]</td><td colspan=2 align=right>Adres:$[metaDataProperty.AnyMetaData.adres]</td></tr><tr height=40><td class=sh_top></td><td width=200><div class=highslide-gallery><a id=thumb1 href=../images/gallery1.jpg class=highslide onclick='return hs.expand(this)'><img src=../img/button_photo.png alt=Highslide JS title=Click to enlarge /></a><div class=highslide-caption>opsis</div><div class=hidden-container><a href=../images/gallery2.jpg class=highslide onclick='return hs.expand(this)'></a><div class=highslide-caption>Caption for the second image.</div><a href=../images/gallery3.jpg class=highslide onclick='return hs.expand(this)'></a><div class=highslide-caption>opisanie</div></div></div></td><td class=sh_top></td></tr><tr><td colspan=3><hr>$[metaDataProperty.AnyMetaData.descript]<img src=../img/shadow_bottom.gif width=263 height=10 align=top></td></tr><tr height=25><td colspan=2><img src=../img/phone.png align=left> <div id=tel>55-45-75<div></td><td align=right>11.000 rub.</td></tr></table>\
");
s_3.balloonContentStyle = new YMaps.BalloonContentStyle(template);
YMaps.Styles.add("atm#room", s_3);
ml = new YMaps.YMapsML('http://rentony.ru/templates/ja_purity/test.xml');
map.addOverlay(ml);
})
ii=1;
function occc() {
if(ii==1) {
ii=0;
map.removeOverlay(ml);}
else {
ii=1;
map.addOverlay(ml);}}
</script>
<script type="text/javascript" src="../highslide/highslide-with-gallery.js"></script>
<link rel="stylesheet" type="text/css" href="../highslide/highslide.css" />
<script type="text/javascript">
hs.graphicsDir = '../highslide/graphics/';
hs.align = 'center';
hs.transitions = ['expand', 'crossfade'];
hs.outlineType = 'rounded-white';
hs.fadeInOut = true;
hs.numberPosition = 'caption';
hs.dimmingOpacity = 0.75;
// Add the controlbar
if (hs.addSlideshow) hs.addSlideshow({
//slideshowGroup: 'group1',
interval: 5000,
repeat: false,
useControls: true,
fixedControls: 'fit',
overlayOptions: {
opacity: .75,
position: 'bottom center',
hideOnMouseOut: true
}
});
</script>
</head>
<body>
<div id="YMapsID" style="width:800px;height:700px"></div>
<a href="javascript:occc()">ssilka</a>
</body>
</html>
XML:
Код:
|
<?xml version="1.0" encoding="utf-8"?>
<ymaps:ymaps xmlns:ymaps="http://maps.yandex.ru/ymaps/1.x"
xmlns:gml="http://www.opengis.net/gml"
xmlns:repr="http://maps.yandex.ru/representation/1.x"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maps.yandex.ru/schemas/ymaps/1.x/ymaps.xsd">
<ymaps:GeoObjectCollection>
<ymaps:style>atm#room</ymaps:style>
<gml:featureMembers>
<ymaps:GeoObject>
<gml:metaDataProperty>
<ymaps:AnyMetaData>
<number>47531</number>
<adres>Степанца, 8б</adres>
<descript>Описание квартиры</descript>
<phone>55-45-75</phone>
<price>11.000</price>
</ymaps:AnyMetaData>
</gml:metaDataProperty>
<gml:Point>
<gml:pos>37.63 55.75</gml:pos>
</gml:Point>
</ymaps:GeoObject>
</gml:featureMembers>
</ymaps:GeoObjectCollection>
</ymaps:ymaps> |