Клуб API Карт

Загрузка координат из XML(для дальнейшего отображения на яндекс картах).

Williams.Smirnov
14 июня 2013, 13:45

Здравствуйте уважаемы пользователи. Вопрос у меня следующий... У меня есть XML файл из которого я подгружаю координаты _ГЕОЛИНИЙ_. Массив с геолинией выглядит следующим образом:
 

Array
(
    [0] => [54.33231759676864,48.38716080263373],[54.33217965353232,48.385819698126305],[54.33298222587114,48.3853154428315],[54.333157786472725,48.385229612143014],[54.333251836485275,48.385390544683936],[54.33328318644142,48.3856373079133]
    [1] => [54.3054127121529,48.389606914611434],[54.30546918042839,48.38936015138208],[54.30544408342667,48.38909193048059],[54.30543153492004,48.38882370957911]
    [2] => [54.33717497382992,48.5417303423243],[54.3370558551911,48.541762528832464]
    [3] => [54.35749233551292,48.564284447216394],[54.35752366690122,48.56483161785544],[54.35764272595778,48.56519639828145]
    [4] => [54.382757580097376,48.598030423845636],[54.38258849472276,48.59824500056684],[54.38100930700113,48.594699181806796],[54.379530895156755,48.5913226075243],[54.3775673248255,48.586870612394954],[54.374878071232025,48.58081963315011],[54.37279618554164,48.57608892187275],[54.37153085108996,48.573277966825145]
)
(Это пример массиваБ там на самом деле больше координат, но не суть).
Все это дело отображается следующим методом
var myPolyline = new ymaps.Polyline([
        // Указываем координаты вершин.
<? echo ($fluer[0]) ?>
], {}, {
        // Задаем опции геообъекта.
        // Цвет с прозрачностью.
        strokeColor: "#0066ffff",
        // Ширину линии.
        strokeWidth: 4,
        // Максимально допустимое количество вершин в ломаной.
        editorMaxPoints: 100,
        // Добавляем в контекстное меню новый пункт, позволяющий удалить ломаную.
        editorMenuManager: function (items) {
            items.push({
                title: "Удалить линию",
                onClick: function () {
                    myMap.geoObjects.remove(myPolyline);
                }
            });
            return items;
        }
    });

 
То есть в переменной $fluer[0] хранится первая часть координат в ячейке [0]. Мне надо туда передать еще остальные ячейки с координатами (то есть   и т.д.) Все бы было просто. Но мне необходимо, что бы координаты передавались отдельными блоками. А не все вместе, так как полилинии рисуются коряво. Так как конечные координаты одной ячейки соединяются с начальными координаты следующей ячейки. И получается неправильная линия между ними (а между ними линии быть вообще не должно). Так как передать координаты блоками, ну или иначе говоря разными полилиниями? Заранее огромное спасибо :)

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

Я не увидел никакого $fluer в коде.

В чем состоит проблема передать координаты?

И что и как "рисуется коряво"?

Williams.Smirnov
14 июня 2013, 14:11

Я поправил код. Я забыл переменную $fluer передать в код. В этой переменной хранится массив координат. Который так же приведен ниже. мне нужно вот сюда 

var myPolyline = new ymaps.Polyline([

        // Указываем координаты вершин.
---> сюда
], {}, {... передать координаты всех ячеек, но что бы они передавались по отдельности, то есть рисовались разные полилинии, никак друг с другом не соединенные. Вот что у меня не выходит(

Ну либо в php либо в javascript выбери из массива $fluer то что тебе нужно. и сформируй конечный массив координат.

Я PHP не знаю, могу только подсказать про js