Клуб API Карт

При добавлении карты вылетает ошибка

f.perfume
8 июля 2009, 11:19

Здравствуйте, вот проект http://yarmarka.dn.ua/index.php?option=com_rea&task=intro&agency_id=1&estate_id=1

При инициализации карты, появляется ошибка типа undefined - есть null или не является обьектом, и соответственно перестает работать ajax(ссылки над предложениями). Подскажите пожалуйста, где может быть ошибка.  Вот код скрипта:

$(document).ready(function()
  {
    var map, placemark;
    init();   
  }
);

//инициализация
function init () {
  var pointCenter = new YMaps.GeoPoint(37.768534,47.991293);
  map = new YMaps.Map(document.getElementById("YMapsID"));
  map.setCenter(pointCenter, 11);    
  map.addControl(new YMaps.SmallZoom());
  //map.enableScrollZoom();
 
  var objManager = new YMaps.ObjectManager();
  map.addOverlay(objManager);    
  //получаем все обьекты
  var objects = $('#all_object').attr('value');
  var arr_objects = objects.split(':');
  for(var x=0; x<arr_objects.length; x++){    
     var data = $("#"+arr_objects[x]).attr('value');
     add_mark(data, objManager, mark_style(x));    
  }
}
//добавляем метку            
function add_mark(value, objManager, style){
  var url = value.split(':');
  for(var a=0; a<url.length; a++){
    var content = url[a].split("(");    
    full_content = content[0]+'<br/>';
    if(content[1]) full_content += content[1];    
    showAddress(url[a], objManager, style, full_content);
  }          
}
//создаем метку            
function showAddress (value, objManager, style, content) {
var geocoder = new YMaps.Geocoder(value, {results: 1, boundedBy: map.getBounds()});                     
YMaps.Events.observe(geocoder, geocoder.Events.Load, function () {
    if (this.length()) {
      var geoResult = this.get(0);
      var coords = geoResult.getGeoPoint().toString().split(",");                     
      point = new YMaps.GeoPoint(coords[0], coords[1]);
      var placemark = new YMaps.Placemark(point, {draggable: false, hideIcon: true, style: style});      
      objManager.add(placemark);
      setBalloonInfo(placemark, geoResult.getGeoPoint(), content);
    }
  });
}
//создает описание
function setBalloonInfo (placemark, geoPoint, text) {
  var content = '';
  if (text) {
  content += '<div class="title">' + text + '</div>';
  }
  placemark.setBalloonContent(content);               
}
//стили меток
function mark_style(id){
  var style = '';
  var path = $("#map_path").attr("value");
  var object_icon = $("#map_icon").attr("value");
  var icon = object_icon.split(':');

  style = new YMaps.Style();
  style.iconStyle = new YMaps.IconStyle();
  style.iconStyle.offset = new YMaps.Point(-10, -26);
  style.iconStyle.href = path+"/"+icon[id];
  style.iconStyle.size = new YMaps.Point(21, 28);
  style.iconStyle.shadow = new YMaps.IconShadowStyle();
  style.iconStyle.shadow.offset = new YMaps.Point(0, -25);
  style.iconStyle.shadow.href = "";
  style.iconStyle.shadow.size = new YMaps.Point(25, 23);
  YMaps.Styles.add("example#customPoint", style);
  return style;
}
2 комментария
Подписаться на комментарии к посту
Спасибо за ответ