как обратиться к элементу из XML
имеется Яндекс-Карта, метка и данные для неё берутся из 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"?> |
и да, тут в коде 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( "$[metaDataProperty.AnyMetaData.number] $[metaDataProperty.AnyMetaData.phone] $[metaDataProperty.AnyMetaData.adres] $[metaDataProperty.AnyMetaData.descript] $[metaDataProperty.AnyMetaData.price]\ "); 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); }) </script> </head> <body> <div id="YMapsID" style="width:800px;height:700px"></div> </body> </html> |
Часовой пояс GMT +3, время: 22:12. |