function init ()
{
coord_x = "<?=$area['coord_x']?>";
coord_y = "<?=$area['coord_y']?>";
scale = "<?=$area['scale']?>";
myMap = new ymaps.Map('mapdiv', {center:[coord_x, coord_y],zoom:scale});
myMap.controls
.add('zoomControl', { left: 5, top: 5 })
.add('mapTools', { left: 35, top: 5 });
[b]Здесь в id я могу передавать разные значения[/b]
ymaps.geoXml.load('http://u8814306.plsk.regruhosting.ru/xml_objects.php?id=0').then(function (res) {
myObjects = res.geoObjects;
myMap.geoObjects.add(myObjects);
if (res.mapState) {
res.mapState.applyToMap(myMap);
}
});
}
Теперь скрипт создания xml-файла:
<?php
header("Content-type: text/xml");
include("settings.php");
include("checkArea.php");
echo '<ymaps xmlns="http://maps.yandex.ru/ymaps/1.x" xmlns:gml="http://www.opengis.net/gml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maps.yandex.ru/schemas/ymaps/1.x/ymaps.xsd">
<Representation xmlns="http://maps.yandex.ru/representation/1.x">
<Style gml:id="commonStyle">
<iconStyle>
<size x="32" y="37"/>
<offset x="-16" y="-18"/>
</iconStyle>
<balloonContentStyle>
<template>#balloonTemplate</template>
</balloonContentStyle>
</Style>
<Style gml:id="styleHotels">
<parentStyle>#commonStyle</parentStyle>
<iconStyle>
<href>http://u8814306.plsk.regruhosting.ru/img/s1.png</href>
</iconStyle>
</Style>
<Template gml:id="balloonTemplate">
<text><![CDATA[
<div style="font-size:12px;">
<div style="color:#ff0303;font-weight:bold">$[name]</div>
</div>]]></text>
</Template>
</Representation>
<GeoObjectCollection>
<gml:name>Объекты карте</gml:name>
<gml:featureMembers>';
if ($_GET['id'] != 0)
{
$query= mysql_query("SELECT * FROM `settlement` WHERE id_district='".intval($_GET['id'])."' ") or die(mysql_error());
}
elseif ($_GET['id'] == 0)
{
$query= mysql_query("SELECT settlement.* FROM `settlement`
LEFT JOIN `district` ON settlement.id_district = district.id
WHERE district.id_area = '".intval($area['id'])."' ") or die(mysql_error());
}
while ($result = mysql_fetch_array($query))
{
$query1 = mysql_query("SELECT * FROM `object` WHERE id_settlement='".intval($result['id'])."' ") or die(mysql_error());
while ($par1 = mysql_fetch_array($query1))
{
echo '<GeoObject gml:id="', $par1['id'], '">';
echo '<gml:name>', htmlspecialchars($par1['name']), '</gml:name>';
echo '<gml:metaDataProperty>';
echo '<AnyMetaData>';
echo '<adress>',htmlspecialchars($par1['name']),'</adress>';
echo '</AnyMetaData>';
echo '</gml:metaDataProperty>';
echo '<gml:Point>';
echo '<gml:pos>', $par1['coord_y'], ' ', $par1['coord_x'], '</gml:pos>';
echo '</gml:Point>';
echo '<style>#styleHotels</style>';
echo '</GeoObject>';
echo "\n";
}
}
echo '</gml:featureMembers>
</GeoObjectCollection>
</ymaps>';
?>
Система такая, если передается id не равное нулю, то выводятся объекты определенного района, если id=0, то объекты всей области. Так вот если передать id=21 и id=0, то создаются два идентичных xml-файла, но в случае с нулем метки не отображаются на карте. Где я туплю, подскажите?