Я использую jsonp-запрос к серверу, который возвращает строку, содержащую геометрию многострочного вектора. Это выглядит так (я его немного урезал):
MULTILINESTRING((-0.61122 44.88987,-0.61108 44.88961,-0.6109 44.88926))
В Open Layers 3, когда я обычно создаю векторный объект, я предоставляю строку, содержащую геометрию, используя следующий код:
var vectorFeature = new ol.Feature({
geometry: new ol.geom.MultiLineString([[-0.11151,21.24112],[-0.11151,81.24112]])
});
Обратите внимание на разницу в форматировании строк. Есть ли способ в Open Layers 3 быстро переформатировать ответ от jsonp-запроса, чтобы я мог быстро создать новую векторную функцию на основе этих данных, или мне придется самому разбирать строку и добавлять форматирование []?
Изменить:
Если я использую объект, возвращенный из запроса JSONP, в качестве аргумента непосредственно в MultiLineString (как показано ниже):
var vectorFeature = new ol.Feature({
geometry: new ol.geom.MultiLineString(data.geometry)
});
тогда, если я попытаюсь получить координаты объекта, используя:
console.log(vectorFeature.getGeometry().getCoordinates());
Я получаю массив [массив [1], массив [1], массив [1] ...]
Что неверно и указывает на неправильное форматирование якобы объекта geoJSON?
Изменить 2
Объект, возвращаемый из запроса JSON, оказался WKT, а не geoJSON, что объясняет трудности.