Есть чистый бланк карты
Есть пользователь. пользователь по двойному клику на карте создает плэйсмарк, в дескрипшн которого подгружается файл с формой для заполнения form.php (подгружать его нужно именно динамически, его свойства будут зависеть от координат, ну и много других нюансов)
загвоздка в том, что пользователь может (и в идеале должен) создать несколько плэйсмарков.
при этом заполнить он может форму по любому плэйсмарку в любой момент времени
при вот таком коде:
window.onload = function () {
var map = new YMaps.Map(document.getElementById("YMapsID"), {propagateEvents:true}
map.setCenter(new YMaps.GeoPoint(104.30863952637,52.27526092529), 15);
map.enableScrollZoom(
map.disableDblClickZoom(
var i=0;
YMaps.Events.observe(map, map.Events.DblClick, function (map, mEvent) {
i=i+1;
var Coord = mEvent.getGeoPoint(
var placemark = new YMaps.Placemark(new YMaps.GeoPoint(Coord.getX(),Coord.getY()), {draggable: 1, hideIcon:false,
hintOptions: {
maxWidth: 100,
},
balloonOptions: {
maxWidth: 70,
hasCloseButton: true,
}
}
placemark.name = "Название";
placemark.description = "<div id='addInfo'>"+i+"</div>";
map.addOverlay(placemark);
YMaps.jQuery("#addInfo").load('form.php?id='+i);
}
}
Имеем следующую проблему: все дивы, и все плэйсмарки для события load становятся равнозначными, и возникает путаница.
как то может есть вариант динамически создавать имена плэйсмарков? в принципе, переменную i ввел именно с этой целью
пробовал в принципе даже массив меток что то типа:
var i=0;
var placemark = new array(
YMaps.Events.observe(map, map.Events.DblClick, function (map, mEvent) {
i=i+1;
var Coord = mEvent.getGeoPoint(
placemark[i] = new YMaps.Placemark(new YMaps.GeoPoint(Coord.getX(),Coord.getY()), {draggable: 1, hideIcon:false,
hintOptions: {
maxWidth: 100,
},
balloonOptions: {
maxWidth: 70,
hasCloseButton: true,
}
}
placemark[i].name = "Название";
placemark[i].description = "<div id='addInfo"+i+"'>"+i+"</div>";
map.addOverlay(placemark[i]
}
но в таком случае не отрабатывается даже даблклик
еще один запотык. если делать с помощью GeoObjectCollection
то как указать в какой конкретно див какая конкретно форма пойдет
при вот таком коде
YMaps.Events.observe(map, map.Events.DblClick, function (map, mEvent) {
i=i+1;
var Coord = mEvent.getGeoPoint(
var placemark = new YMaps.Placemark(new YMaps.GeoPoint(Coord.getX(),Coord.getY()), {draggable: 1, hideIcon:false,
hintOptions: {
maxWidth: 100,
},
balloonOptions: {
maxWidth: 70,
hasCloseButton: true,
}
}
placemark.name = "Название";
placemark.description = "<div id='addInfo"+i+"'>"+i+"</div>";
uCollection.add(placemark);
YMaps.jQuery("#addInfo"+i
).load('form.php?id='+i); }
в момент выполнения YMaps.jQuery("#addInfo"+i