Может ли OpenLayers анализировать данные GPX, которые хранятся в виде строки в переменной javascript? - PullRequest
3 голосов
/ 10 января 2012

У меня есть сайт карты, использующий OpenLayers, который импортирует и отображает данные GPX, используя следующий код:

var lgpx = new OpenLayers.Layer.GML(gpxtracktitle, gpxfileaddress, {

  format: OpenLayers.Format.GPX,

  style: {strokeColor: plmapvars.colourarray[i%7], strokeWidth: 5, strokeOpacity: 0.7},

  projection: new OpenLayers.Projection("EPSG:4326")
});

map.addLayer(lgpx);

Я ищу способ отображения данных gpx, который вместо сохранения в виде файла сохраняется как строка в переменной javascript:

var gpxstring ="<?xml ... </gpx>"

Я попытался передать строку в приведенный выше код как URI данных, но безуспешно. Может ли OpenLayers анализировать GPX из строки так, как я пытаюсь это сделать?

Заранее спасибо за любую помощь.

1 Ответ

4 голосов
/ 10 января 2012

Может быть, есть более простой путь, но здесь вы идете:

Вы уже знаете о OpenLayers.format.GPX [документы] . У него есть метод read, который принимает XML-документ и возвращает массив функций. Затем вы можете добавить эти элементы в слой.

Как разобрать строку XML и создать документ XML описано в Как правильно создать и использовать объект документа XML с учетом совместимости браузера?

...