小编Cha*_*son的帖子

OSM API Way 节点顺序错误

所以我的目标是能够从 OSM 中提取给定的路径以显示在 Leaflet 地图上。但是,当我尝试拉取给定的 Way 时,响应中的节点似乎没有正确排序。

import axios from 'axios'
import xml2js from 'xml2js'

let parser = new xml2js.Parser()

export default {
  async getStpPolygon () {
    let xml = await axios.get('https://www.openstreetmap.org/api/0.6/way/39394541/full')

    return parseNodes(xml)
  },

  async getMplsPolygon () {
    let xml = await axios.get('https://www.openstreetmap.org/api/0.6/way/93481561/full')

    return parseNodes(xml)
  }
}

async function parseNodes (xml) {
  return new Promise((resolve, reject) => {
    parser.parseString(xml.data, (err, data) => {
      if (err) reject(err)

      let output = data.osm.node.map((node) => {
        return [
          parseFloat(node.$.lat),
          parseFloat(node.$.lon)
        ]
      })

      resolve(output) …
Run Code Online (Sandbox Code Playgroud)

javascript openstreetmap leaflet

2
推荐指数
1
解决办法
659
查看次数

标签 统计

javascript ×1

leaflet ×1

openstreetmap ×1