问题说明

在做面要素的编辑的时候,当对multiploygon类型的面要素进行编辑的时候,出现如下错误:

TypeError: Cannot read property 'lat' of null

通过查看github issues发现Leaftlet.Draw插件并不支持multipolygon类型的要素

https://github.com/Leaflet/Leaflet.draw/issues/268

解决方法

通过测试发现可以通过将multipolygon拆分成多个polygon要素的方法可以解决这个问题

拆分方法如下:

function multiPolygon2polygons (multiPolygon){
if(multiPolygon.type !== 'MultiPolygon'){
return
}
var polygons = [];
multiPolygon.coordinates.forEach((item)=>{
var polygon = {
type: "Polygon",
coordinates: []
};
polygon.coordinates = item;
polygons.push(polygon)
});
return polygons;
}

有时候原始数据可能还是需要保存成multipolygon类型的数据 这时就需要再讲拆分的polygons合并成一个multipolygon

合并方法如下:

function polygons2MultiPolygon(geoJson) {
var newGeoJson = {
type: "FeatureCollection",
features: [{geometry: {coordinates: [], type: "MultiPolygon"}, type: "Feature", properties: {}}]
};
geoJson.features.forEach((item) => {
if(item.geometry.type === "Polygon"){
newGeoJson.features[0].geometry.coordinates.push(item.geometry.coordinates);
}else{
item.geometry.coordinates.forEach((item) => {
newGeoJson.features[0].geometry.coordinates.push(item);
})
}
})
return newGeoJson;
}

最新文章

  1. mysql高并发和表类型
  2. 网站迁移时候,发现<head>内容都到body里了
  3. redis 在32位系统安装以及使用
  4. 彻底卸载sublime txt
  5. python核心编程学习记录之Python对象
  6. [AngularJS学习笔记] 基础学习01
  7. Linux 小记录
  8. 武汉科技大学ACM:1005: 华科版C语言程序设计教程(第二版)例题5.8
  9. 基于JDK1.8的HashMap分析
  10. put与putIfAbsent区别
  11. Arch Linux下Visual Stdio Code在格式化C代码时报错
  12. telegram即时通信软件和outline ---- by 余弦 by倾旋
  13. PEM routines:PEM_read_bio:no start line
  14. mac、linux 查看端口占用程序
  15. 51nod 算法马拉松4 B递归(YY)
  16. jQuery File Upload 文件上传插件使用二 (功能完善)
  17. POJ 1597 Function Run Fun
  18. 洛谷P2047 [NOI2007]社交网络 [图论,最短路计数]
  19. 由浅入深了解EventBus:(三)
  20. C# Winform 实现自定义半透明遮罩层介绍

热门文章

  1. [LeetCode]无重复字符的最长子串
  2. 用AOP思想改造一个服务器的数据存储
  3. 课程一(Neural Networks and Deep Learning),第三周(Shallow neural networks)—— 1、两层神经网络的单样本向量化表示与多样本向量化表示
  4. Java读取文件加锁代码Demo(利用Java的NIO)
  5. Postman入门之Mock测试
  6. Shell的并发
  7. es-05-获取 resthighlevelclient及api
  8. dhcp服务器(一)
  9. springMVC上传文件简单案例
  10. (转)Spring常见注解总结