Клуб API Карт

Не отображается полигон по данным из массива MySQL

seo.aurel.gaina
1 февраля 2015, 20:33

Передаю данные через переменную - не отображается, вставляю данные в код - все номально - полигон виден:

ТАК РАБОТАЕТ:

var myZone=new ymaps.Polygon([[

[55.88138204110359,37.73359619140623],[55.77857984460318,37.84071289062498],[55.748383080645354,37.69926391601561],[55.80333913929291,37.63197265624999],[55.88138204110359,37.73359619140623]

]]);

myMap.geoObjects.add(myZone); 

 

ТАК НЕ РАБОТАЕТ: 

var points='[55.88138204110359,37.73359619140623],[55.77857984460318,37.84071289062498],[55.748383080645354,37.69926391601561],[55.80333913929291,37.63197265624999],[55.88138204110359,37.73359619140623]'

var myZone=new ymaps.Polygon([[points]]);

myMap.geoObjects.add(myZone); 


Не могу разобраться уже второй день - помогите пожалуйста. 

Спасибо


3 комментария
Подписаться на комментарии к посту

В чем тут можно 2 дня разбираться? Вы понимаете разницу между строкой и массивом?

Уважаемый dimik, признаюсь опыта мало в программировании, но я вроде-бы все делаю согласно той информации которая есть на https://tech.yandex.ru. Я действительно не понимаю в чем тут дело и что меняет переменная в структуре данных

Как говорил персонаж одного мультфильма: "Лучше один день потерять, зато потом за 5 минут долететь"

 

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

 

Разница между 2мя вариантами что вы привели значительная.

Геометрия полигона представляет собой массив контуров - одного внешнего и 0 и более внутренних.

каждый контур это массив из координат точек. Координаты описываются массивом из 2х чисел.

Во втором варианте внешний контур у вас представлен массивом из одного элемента - строки. Строка вместо массивов чисел это понятно?

Должно быть:

[ [ [1,2], [3,4], [5,6] ] ]

То что у вас:

[ [ "[1,2], [3,4], [5,6]" ] ]

Разница понятна?