Добрый день!
Мне необходимо отобразить на карте метки конкретного проекта. В БД сайта у меня есть таблица проектов, и таблица меток (с координатами для отображаения на карте). Соответственно, при выборе проекта мне надо черех AJAX запрос получить список меток, и отобразить его на карте.
Я делаю следующим образом:
1) Создаю HTML блок, в котором будет отображаться карта:
<div id="mapYandex" style="width: 100%; height: 600px;"></div>
2) На странице есть также HTML элеменет select с id = ddlProjects. К нему я подвешиваю событие onchange="selectProjects();"
3) И вот код javascript код:
<script type="text/javascript" language="javascript">
var myMap;
function selectProjects()
{
ymaps.ready(function () {
createMap();
});
}
function createMap()
{
$("#mapYandex").empty();
myMap = new ymaps.Map('mapYandex', {
center: [48.708958, 44.514541],
zoom: 10
});
myMap.controls
.add('zoomControl', { left: 5, top: 5 })
.add('typeSelector')
.add('mapTools', { left: 35, top: 5 });
myMap.behaviors.enable("scrollZoom");
loadYandexMapClients();
}
}
// загрузка клиентов на карту
function loadYandexMapClients() {
$.ajax(
{
type: "POST",
url: "WebServiceYandex.asmx/cr
data: '{idProject: "' + $("#ddlProjects :selected").val() + '"}',
contentType: "application/json; charset=utf-8",
dataType: "json",
async: "true",
cache: "false",
success: function (msg) {
var records = msg.d;
$.each(records, function (index, record) {
var yandexXY = record.yandexXY;
if (yandexXY == null || yandexXY.length == 0)
return;
var t1 = yandexListXY.split('#');
var myPlacemark;
for (i = 0; i < t1.length; i++) {
t = t1[i].split(',');
myPlacemark = null;
myPlacemark = new ymaps.Placemark([t[1], t[0]], {
balloonContentHeader: "<b>описание</b>",
balloonContentBody: "<i><b>описание</b></i>",
hintContent: "текст",
iconContent: i + 1
});
myMap.geoObjects.add(myPlacemark);
}
});
},
Error: function (x, e) {
alert("Some error");
}
});
}
</script>
Но такой вариант не работает. Выдается вот такая ошибка, совсем не понятно о чем она:
Uncaught TypeError: Cannot read property 'offsetWidth' of nullcombine.xml?modules=3G5o6