如何基于给定JSON数据创建符合标准的JavaScript GeoJSON对象
实现代码
你的伪代码核心逻辑是正确的,仅需要修正JS语法差异、补充GeoJSON规范要求的geometry字段即可,完整实现如下:
createGeoJson(data){ // 初始化符合规范的GeoJSON根对象 const geojson = { type: "FeatureCollection", features: [] }; // 遍历接口返回的IP对应数据 for (let [ipAddress, value] of Object.entries(data)) { const feature = { type: "Feature", properties: { count: value.count, ipAddress: ipAddress }, geometry: { type: "Point", // 按GeoJSON要求填[经度, 纬度],替换为你实际获取经纬度的逻辑即可 coordinates: [value.lon, value.lat] } }; // JS数组添加元素用push方法,对应你伪代码里的append geojson.features.push(feature); } // 可根据需求返回生成的对象或执行后续操作 return geojson; }
注意事项
- GeoJSON的坐标顺序固定为
[经度, 纬度],不要写反 - 如果你的经纬度存储在其他字段/其他数据源中,修改
coordinates的取值逻辑即可 - 生成的
geojson对象结构和你给出的示例JSON完全一致
内容的提问来源于stack exchange,提问作者Poala
相关产品推荐
相关产品推荐

