Клуб API Карт

Пользовательская карта

victoruni
30 августа 2010, 11:46
Здравствуйте
Создал пользовательскую карту
По клику - балун с формой - добавление метки
onsubmit=addMarker()
{
placemark=
alert(888);
map.addOverlay(placemark);
alert(999);
}
map.addOverlay(placemark) - не выполняет !!!!
делаю тоже самое для обычного участка карты - все ок!-
????

(ВСЕ РЕШИЛ ПРОБЛЕМУ !!! (извиняюсь что здесь отвечаю - не пойму как ответить в тему !!!!)
 
вместо onsubmit=addMarker()
вставил
YMaps.jQuery("#subpoint").click(function() {
......................................
// Добавляет метку на карту
map.addOverlay(placemark1);
});


********************************************
Вот полный текст:
)

var map;

// Создание обработчика для события window.onLoad
        YMaps.jQuery(function () {

            var map = new YMaps.Map(YMaps.jQuery("#YMapsID")[0]);

            // Установка для карты ее центра и масштаба
            map.setCenter(new YMaps.GeoPoint(),2);

            // Добавление элементов управления
            map.enableScrollZoom();
            map.addControl(new YMaps.SmallZoom());

            // Создание источника данных
            var myData = new YMaps.TileDataSource("http://mt.gmapuploader.com/tiles/ikLsaqDN3H/", false, true);
            myData.getTileUrl = function (tile, zoom) {
                return this.getTileUrlTemplate() + "/tile-" + zoom + "-" + (tile.y * Math.pow(2, zoom) + tile.x) + ".jpg";
            }

            // Установка авторских прав
            map.addCopyright("© Никитин Андрей (www.nikandr.ru)");

            // Создание нового типа карты
            map.setType(new YMaps.MapType([new YMaps.Layer(myData)], "План первой палубы", {minZoom:2, maxZoom:4}));

            map.addControl(new YMaps.SearchControl());           
           
            var toolbar = new YMaps.ToolBar();
           
            var pointBootion = new YMaps.ToolBarRadioButton(YMaps.ToolBar.DEFAULT_GROUP, {
            icon: "http://api.yandex.ru/i/maps/tools/draw/add_point.png",
            width: 20,
            hint: "Режим добавления меток"
            });
       
            toolbar.add(pointBootion);
            map.addControl(toolbar);
       
           
            // При активной кнопке включаем добавление меток
YMaps.Events.observe(pointBootion, pointBootion.Events.Select, function () {
           
YMaps.Events.observe(map, map.Events.Click, function (map, mEvent) {

// всплывающая форма для выбора метки
  var Htmlselect ="<select id="imageMarker" name="imageMarker"/>";          
               
// и здесь добавляется - хотя здесь не нужно - для проверки //просто
var placemark = new YMaps.Placemark(new YMaps.GeoPoint(-1.0,1.0), {hasHint: true, style: "default#barIcon"});
map.addOverlay(placemark);

        var myHtml = "Значение: " + mEvent.getGeoPoint().getLng()+","+ mEvent.getGeoPoint().getLat()+ "
"+'<form id="formadd" action="javascript:void(null);" method="post"><p>Название: <input id="namepoint" maxlength="80" name="namepoint" size="20" type="text"/></p><p>Описание: <textarea id="descriptionpoint" cols="20" rows="5" name="descriptionpoint"/></p>
'+Htmlselect+'<input id="pcoordLng" name="pcoordLng" type="text" value="'+mEvent.getGeoPoint().getLng()+'"/>
<input id="pcoordLat" name="pcoordLat" type="text" value="'+mEvent.getGeoPoint().getLat()+'"/><p><input name="subpoint" type="submit" value="Добавить"/></p></form>';
        map.openBalloon(mEvent.getGeoPoint(), myHtml);

   
               
YMaps.jQuery("#imageMarker").change(function() {
YMaps.jQuery("#imagePreview").empty();
if ( YMaps.jQuery("#imageMarker").val()!="" ){
    YMaps.jQuery("#imagePreview").append("<img src="%5C%22%22" alt=""/>");
}
else{
    YMaps.jQuery("#imagePreview").append("-");
    }
});
               
YMaps.jQuery("#formpoint").show();

document.getElementById('point_lat').value = newGeoPoint.getLng();
document.getElementById('point_lng').value = newGeoPoint.getLat();              
               
})
})
 
// При неактивной - выключаем
YMaps.Events.observe(pointBootion, pointBootion.Events.Deselect, function () {
map.removeCursor(YMaps.Cursor.POINTER);
YMaps.jQuery("#formpoint").hide();
})

           
});

function addMarker() {
         
var overlayName = YMaps.jQuery('#namepoint').attr('value');
var overlayDescription = YMaps.jQuery('#descriptionpoint').attr('value');
var ZnMetki = YMaps.jQuery('select[@name=imageSelect] option:selected').attr('value');
var LatMetki = YMaps.jQuery('#point_lat').attr('value');
var LngMetki = YMaps.jQuery('#point_lng').attr('value');       
var LatMetki1 = YMaps.jQuery('#pcoordLat').attr('value');
var LngMetki1 = YMaps.jQuery('#pcoordLng').attr('value');       
alert(LatMetki1+" "+LngMetki1+" "+LatMetki+" "+LngMetki+" "+ZnMetki+overlayDescription+overlayName);     
var placemark1 = new YMaps.Placemark(new YMaps.GeoPoint(LngMetki1, LatMetki1), {hasHint: true, style: ZnMetki});

// Устанавливает содержимое балуна
placemark1.name = overlayName;
placemark1.description = overlayDescription;
alert(888);

// Добавляет метку на карту
map.addOverlay(placemark1);
alert(999);
}
 
1 комментарий
Подписаться на комментарии к посту
Полный код не вставился, попробуйте вставить его еще раз.