limpopo1992
@limpopo1992

Яндекс API Не создается карта?

Доброе время суток!

Проблема в следующем:

Есть некий див

<div id="rez" style="width:1000px;height:1000px">Тут будет наша замечательная карта
</div>


Он отрисовывается на странице при ее загрузке

Далее идет форма, поля которой пользователь заполняет и жмякает на кнопку, далее это событие подхватывает функция, которая передает значения полей в пхп скрипт, далее принимает ответ из скрипта и вставляет его в наш див.
Содержимое ответа пхп-скрипта:

function one(){
var myMap = new ymaps.Map("map", {
        center: [55.76, 37.64],
        zoom: 10
    }); 
    
  //myGeoObject = new ymaps.GeoObject({
        //geometry: {
           // type: "Point",// тип геометрии - точка
           // coordinates: [jsondata.w,jsondata.l] // координаты точки
       //}
   // })
    //i = i+1;
    
//myMap.geoObjects.add(myGeoObject); // Размещение геообъекта на карте.
}
one();


В итоге имею вот такую штуку в консоле: Uncaught TypeError: Cannot read property 'offsetWidth' of null
Т.е. получаю это по результату отработки скрипта.

P.S. Библиотеки яндекс карт подключены
Что делать? Изломал всю голову.
  • Вопрос задан
  • 7800 просмотров
Решения вопроса 1
Petroveg
@Petroveg
Миром правят маленькие с#@&ки
Жесть какая-то с логикой...

1. Все функции заранее написаны и скрипт с ними загружен изначально.
2. Пользователь нажимает на кнопку и получает данные (безусловно, лучше в JSON).
3. Эти данные (координаты etc.) передаются в функцию и она использует их для инициализации карты.
4. Если карта уже создана, а на кнопку можно нажать ещё раз, можно либо заново пересоздать её, либо скорректировать текущую.

В блок, предназначенный судьбой быть контейнером для карты, ничего вставлять не надо.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы