Как создать полилинию листовки после загрузки дорожки Gpx с разными цветами ⇐ Javascript
Как создать полилинию листовки после загрузки дорожки Gpx с разными цветами
Я использую скрипт для загрузки треков gpx прямо на карту, и он отлично работает.
https://github.com/shramov/leaflet-plugins
сердце сценария
var track = new L.GPX('fells_loop.gpx', { асинхронный: правда, display_wpt: ложь }).on('loaded', function (e) { map.fitBounds(e.target.getBounds()); }).addTo(карта); Файл GPX загружается и конвертируется с помощью этого скрипта
L.GPX = L.FeatureGroup.extend({ инициализировать: функция (gpx, параметры) { L.Util.setOptions(это, параметры); this._gpx = gpx; this._layers = {}; если (gpx) { this.addGPX(gpx, options, this.options.async); } }, loadXML: функция (url, cb, options, async) { если (async === не определено) async = this.options.async; если (опции === не определены) options = this.options; вар req = новое окно.XMLHttpRequest(); req.open('GET', URL, асинхронный); пытаться { req.overrideMimeType('text/xml'); // не поддерживается IE } поймать (е) {} req.onreadystatechange = функция () { если (req.readyState !== 4) return; if (req.status === 200) cb(req.responseXML, options); }; req.send (ноль); }, _humanLen: функция (л) { если (l < 2000) return l.toFixed(0) + 'm'; еще return (l/1000).toFixed(1) + 'км'; }, _polylineLen: функция (линия)//линия — это L.Polyline() { вар ll = line._latlngs; вар d = 0, p = ноль; for (var i = 0; i < ll.length; i++) { если (я && р) d += p.distanceTo(ll); р = ll[я]; } вернуть д; }, addGPX: функция (URL, параметры, асинхронный) { вар _this = это; var cb = функция (gpx, options) { _this._addGPX(gpx, options); }; this.loadXML(url, cb, параметры, асинхронный); }, _addGPX: функция (gpx, параметры) { var Layers = this.parseGPX(gpx, options); if (!layers) возвращается; this.addLayer(слои); this.fire('загружено'); }, parseGPX: функция (xml, параметры) { var j, i, el, Layers = []; var name = false, tags = [['rte','rtept'], ['trkseg','trkpt']]; for (j = 0; j < tags.length; j++) { el = xml.getElementsByTagName(tags[j][0]); for (i = 0; i
Я использую скрипт для загрузки треков gpx прямо на карту, и он отлично работает.
https://github.com/shramov/leaflet-plugins
сердце сценария
var track = new L.GPX('fells_loop.gpx', { асинхронный: правда, display_wpt: ложь }).on('loaded', function (e) { map.fitBounds(e.target.getBounds()); }).addTo(карта); Файл GPX загружается и конвертируется с помощью этого скрипта
L.GPX = L.FeatureGroup.extend({ инициализировать: функция (gpx, параметры) { L.Util.setOptions(это, параметры); this._gpx = gpx; this._layers = {}; если (gpx) { this.addGPX(gpx, options, this.options.async); } }, loadXML: функция (url, cb, options, async) { если (async === не определено) async = this.options.async; если (опции === не определены) options = this.options; вар req = новое окно.XMLHttpRequest(); req.open('GET', URL, асинхронный); пытаться { req.overrideMimeType('text/xml'); // не поддерживается IE } поймать (е) {} req.onreadystatechange = функция () { если (req.readyState !== 4) return; if (req.status === 200) cb(req.responseXML, options); }; req.send (ноль); }, _humanLen: функция (л) { если (l < 2000) return l.toFixed(0) + 'm'; еще return (l/1000).toFixed(1) + 'км'; }, _polylineLen: функция (линия)//линия — это L.Polyline() { вар ll = line._latlngs; вар d = 0, p = ноль; for (var i = 0; i < ll.length; i++) { если (я && р) d += p.distanceTo(ll); р = ll[я]; } вернуть д; }, addGPX: функция (URL, параметры, асинхронный) { вар _this = это; var cb = функция (gpx, options) { _this._addGPX(gpx, options); }; this.loadXML(url, cb, параметры, асинхронный); }, _addGPX: функция (gpx, параметры) { var Layers = this.parseGPX(gpx, options); if (!layers) возвращается; this.addLayer(слои); this.fire('загружено'); }, parseGPX: функция (xml, параметры) { var j, i, el, Layers = []; var name = false, tags = [['rte','rtept'], ['trkseg','trkpt']]; for (j = 0; j < tags.length; j++) { el = xml.getElementsByTagName(tags[j][0]); for (i = 0; i
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как создать этот круговой прогресс с разными цветами для Diff Grosges [закрыто]
Anonymous » » в форуме Android - 0 Ответы
- 6 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как создать этот круговой прогресс с разными цветами для Diff Grosges [закрыто]
Anonymous » » в форуме IOS - 0 Ответы
- 7 Просмотры
-
Последнее сообщение Anonymous
-