var map;var geoResult;var mas_point_add_to_maps = new Array();var drag_placemark = false;function init_yandex_maps()  {    map = new YMaps.Map(document.getElementById("YMapsID"));        set_longitude_yandex_maps=longitude_yandex_maps;    set_latitude_yandex_maps=latitude_yandex_maps;    set_zoom_yandex_maps=zoom_yandex_maps;            if ( go_set_function )      {       go_set_function();      }        map.setCenter(new YMaps.GeoPoint(set_longitude_yandex_maps, set_latitude_yandex_maps), set_zoom_yandex_maps);// долгота, широта | longitude - долгота, latitude - широта            map.setType(YMaps.MapType.MAP);//MAP , SATELLITE , HYBRID         map.addControl(new YMaps.TypeControl());   //тип карты    //map.addControl(new YMaps.ToolBar());       //панель инструментов    map.addControl(new YMaps.Zoom());          //масштабирование    //map.addControl(new YMaps.MiniMap());       //обзорная карта    //map.addControl(new YMaps.ScaleLine());     //масштабная линейка        if ( go_function )      {       go_function();      }          }var obj_form_create;// форма добавления нового объекта в каталогfunction set_init_maps_drag_point_maps()  {    obj_form_create = document.forms.form_create_object;        var form_lng_geo = parseFloat(obj_form_create.longitude.value);    var form_lat_geo = parseFloat(obj_form_create.latitude.value);        if ( form_lng_geo && form_lat_geo )      {       set_longitude_yandex_maps=form_lng_geo;       set_latitude_yandex_maps=form_lat_geo;       //set_zoom_yandex_maps=zoom_yandex_maps;              //alert(set_longitude_yandex_maps + " " + set_latitude_yandex_maps);      }                  }function set_drag_point_maps()  {    obj_form_create = document.forms.form_create_object;        var start_longitude_yandex_maps = longitude_yandex_maps;    var start_latitude_yandex_maps = latitude_yandex_maps;        var form_lng_geo = parseFloat(obj_form_create.longitude.value);    var form_lat_geo = parseFloat(obj_form_create.latitude.value);        YMaps.Events.observe(map,map.Events.Click, function (obj,mEvent) {      //alert(mEvent.getGeoPoint());      create_drag_placemark(1,1,mEvent.getGeoPoint());     });        if ( form_lng_geo && form_lat_geo )      {       start_longitude_yandex_maps = form_lng_geo;       start_latitude_yandex_maps = form_lat_geo;       //alert(form_lng_geo + " " + form_lat_geo);              create_drag_placemark(start_longitude_yandex_maps,start_latitude_yandex_maps,false);      }  }function create_drag_placemark(longitude,latitude,geoPoint)  {    obj_form_create = document.forms.form_create_object;        var setPointPlacemark = false;    if ( geoPoint  )      {       setPointPlacemark = geoPoint;       longitude = geoPoint.getLng();       latitude = geoPoint.getLat();      }     else       {        setPointPlacemark = new YMaps.GeoPoint(longitude, latitude);       }        if ( drag_placemark )      {       //alert("уже есть метка!");       drag_placemark.setGeoPoint(setPointPlacemark);      }     else       {        drag_placemark = new YMaps.Placemark(setPointPlacemark, {draggable: true , hasBalloon: false , style: "default#anchorIcon" });        drag_placemark.name = "Метка";        drag_placemark.description = "Перетащите эту метку в нужное место";        map.addOverlay(drag_placemark);       }        obj_form_create.longitude.value=longitude;    obj_form_create.latitude.value=latitude;        YMaps.Events.observe(drag_placemark, drag_placemark.Events.DragEnd, function (obj,mEvent)      {        //alert(obj.getGeoPoint());        var GeoKoor = obj.getGeoPoint();                //alert(GeoKoor.getLng());        //alert(GeoKoor.getLat());                obj_form_create.longitude.value=GeoKoor.getLng();        obj_form_create.latitude.value=GeoKoor.getLat();              }     );              }function set_mas_point_to_maps()  {   //должен быть определен массив точек mas_point_maps      var n,one_point;   for (n=0;n < mas_point_maps.length; n++  )     {      one_point = mas_point_maps[n];      if ( !one_point["lng"] || !one_point["lat"]  ) continue;            var placemark = new YMaps.Placemark(new YMaps.GeoPoint(one_point["lng"], one_point["lat"]) );//, {draggable: true , hasBalloon: false});      placemark.name = "<div style=' width:300px;'><a href='"+dir_http+"/place"+one_point["num"]+"/'>"+decodeURIComponent(one_point["name"])+"</a></div>";      var short_description =decodeURIComponent(one_point["short_description"]);      placemark.description = "<div style=' width:300px; '>"+decodeURIComponent(one_point["address"]) +         ( short_description ? "<div style='margin: 10px 0px;'>"+short_description+"</div>" :"" )+"</div>";      map.addOverlay(placemark);            mas_point_add_to_maps[mas_point_add_to_maps.length] = placemark;           }      if ( typeof( open_first_point_maps ) != "undefined"  &&  open_first_point_maps  && mas_point_add_to_maps.length > 0 )     {      mas_point_add_to_maps[0].openBalloon();     }     }function set_init_maps_mas_point_maps()  {    if ( typeof( set_zoom_point_object ) != "undefined" )      {       set_zoom_yandex_maps=zoom_yandex_maps_point_object;             }        //должен быть определен массив точек mas_point_maps, центрирование карты будет по первой точке    if ( mas_point_maps && mas_point_maps.length > 0 )      {       var lng_geo = mas_point_maps[0]["lng"];       var lat_geo = mas_point_maps[0]["lat"];              if ( lng_geo && lat_geo )         {          set_longitude_yandex_maps=lng_geo;          set_latitude_yandex_maps=lat_geo;          //set_zoom_yandex_maps=zoom_yandex_maps;                    //alert(set_longitude_yandex_maps + " " + set_latitude_yandex_maps);         }      }              }function open_num_mas_point_to_maps( num_i )  {      if ( mas_point_add_to_maps && mas_point_add_to_maps[num_i] )     {            mas_point_add_to_maps[num_i].openBalloon();      if ( document.getElementById("YMapsID") )        {         document.getElementById("YMapsID").scrollIntoView(true);         //document.getElementById("YMapsID").scrollBy(-5,0);         window.scrollBy(0,-7);        }     }        }function showAddress (value)  {   map.removeOverlay(geoResult);   var geocoder = new YMaps.Geocoder(value, {results: 1, boundedBy: map.getBounds()});      YMaps.Events.observe(geocoder, geocoder.Events.Load, function () {   if (this.length())     {      geoResult = this.get(0);      //alert(geoResult.getGeoPoint());      create_drag_placemark(1,1,geoResult.getGeoPoint());      //map.addOverlay(geoResult);      //map.setBounds(geoResult.getBounds());      //geoResult.openBalloon(); // Открываем балун     }    else      {       alert("Ничего не найдено!")      }   });  }
