Метки добавляются на карту динамически. Посредством AJAX из базы берутся координаты объектов и добавляются на карту при нажатии на ссылку. Подробнее: при нажатии на ссылку идет обращение к java-скрипту. Этот скрипт посредством AJAX делает запрос к php-файлу. В этом файле запрос в базу для выборки координат и предоставление данных в виде JSON. PHP-файл работает, функция on_search() срабатывает только при загрузке карты. При нажатии на ссылки на странице ничего не происходит. Помогите, пожалуйста, разобраться.
<script src="http://api-maps.yandex.ru/1.1/index.xml?key=****" type="text/javascript"></script>
<script type="text/javascript">
var gCollection;
var map;
//$(document).ready(function(){
// Создание обработчика для события window.onLoad
YMaps.jQuery(function () {
// Создание экземпляра карты и его привязка к созданному контейнеру
map = new YMaps.Map(YMaps.jQuery("#touchinfo_maps")[0]);
// Установка для карты ее центра и масштаба
map.setCenter(new YMaps.GeoPoint(30.313497,59.938531), 15);
//Добавляем элементы управления.
map.addControl(new YMaps.TypeControl());//Тип карты, кнопочки Схема, Гибрид, Спутник
map.addControl(new YMaps.ToolBar());//Тулбар, кнопки Рука, Лупа, Линейка
map.addControl(new YMaps.Zoom());//Увеличение
on_search(this,1); //для проверки работы функции.
});
//});
function on_search(test,id_razdela) {
var link = YMaps.jQuery(test);
map.removeAllOverlays();
YMaps.jQuery.getJSON("http://touchinfo.me/php/mapobr.php", {id_razdela: id_razdela}, function(json){
gCollection = new YMaps.GeoObjectCollection("default#nightPoint");
bounds = new YMaps.GeoCollectionBounds();
for (i = 0; i < json.length; i++)
{
var placemark = new YMaps.Placemark(new YMaps.GeoPoint(json[i].lng,json[i].lat));
bounds.add(new YMaps.GeoPoint(json[i].lng,json[i].lat));
gCollection.add(placemark);
}
if (link.hasClass("active"))
{
map.removeOverlay(gCollection);
}
else
{
map.setBounds(bounds);
map.addOverlay(gCollection);
}
link.toggleClass("active");
return false;
});
}
</script>
<div class="content">
<div class="cont">
<div class='sidebarnew'>
<ul>
<?php foreach($main_razdel as $item):?>
<li><a href="#" id="<?=$item['id_razdel'];?>" onСlick="on_search(this,<
<?php endforeach;?>
</ul>
</div>
<div class='CenterLineNew' style='padding-top:0;'>
<?php
if(isset($breadcrumbs ) && count($breadcrumbs) !=0 ){
echo "<ul class='breadcrumbsnew'>";
foreach($breadcrumbs as $k=>$v){
echo "<li>".$v."<span>".$this->config->item ('breadcrumbs_delimeter')."</span></li>";
}
echo "</ul>";
}
?>
<div class='user_class' style='padding-left:200px;'>
<div id='touchinfo_maps' style='height:500px;'>
</div>
</div>
</div>
</div>
</div>
<?php $this->load->view('footer.php');?>