Показать сообщение отдельно
  #1 (permalink)  
Старый 20.12.2011, 12:17
Аспирант
Отправить личное сообщение для Rentony Посмотреть профиль Найти все сообщения от Rentony
 
Регистрация: 15.12.2011
Сообщений: 50

как обратиться к элементу из 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"?>
<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>
Ответить с цитированием