范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

H5时代leaflet中还在用DivIcon?

  前段时间写了篇《leaflet如何加载10万数据》的文章,有同学反应其中的Canvas-Markers插件不支持DivIcon。我们今天就来聊一聊,为什么这个插件不支持DivIcon,以及如何用H5的Canvas特性,做出以前用DivIcon才能实现的 标签 和 文字标注 功能。
  老规矩,先上效果图:
  标签功能
  文字标注功能
  为什么不支持DivIcon
  Canvas-Markers插件的创作目的是为了解决,大批量数据展示的性能问题,它通过使用H5中Canvas的绘图方式绘制Marker,提升了展示性能。但该插件目前只支持Icon,不支持DivIcon。
  之所以不支持,是因为DivIcon的实现原理是在HTML页面中添加DOM元素,并在地图平移、缩放时不断的修改DOM元素的属性,而大量添加和修改DOM元素会拉低浏览器的显示性能,出现卡顿等现象。
  如果使用Canvas-Markers后还在继续使用DivIcon,就相当于网络升级了千兆带宽以后,还在用之前的百兆路由器。这时的DivIcon就会和那个百兆路由器一样,成为整个通道中最为狭窄的地方,变成瓶颈。
  如果不用DivIcon这个老路由器,有没有新路由器呢?
  有!但要分情况。
  平时工作中,用DivIcon通常是为了实现 标签功能 和 文字标注 功能
  标签功能:
  文字标注功能:
  针对这两种情况,leaflet都有Canvas方式的解决方案。标签功能
  上文提到,Canvas-Markers插件目前只支持Icon类型的图标,翻看它的代码会发现,其实,它用Icon也只是把Icon当成一个Object来用, 只用来传参,并没有去用Icon内部的功能。因为Icon的内部,也是创建了一个img类型的DOM元素,它和DivIcon一样,大量添加会影响浏览器的显示性能。
  Canvas-Markers插件通过Icon获取图片的地址和图片的偏移位置等参数,然后用Canvas的方式绘制图片。
  标签由两部分组成,背景框和文字,背景框通常是一个图片。Canvas-Markers插件已经可以加载图片,我们只要让它再支持文字,并能控制文字的样式和位置,就可以实现标签功能了。
  打开Canvas-Markers插件的代码,在下图位置增加一个绘制文字的方法。
  再在下图中的三个位置,增加上面新增方法的调用
  这样就可以实现标签功能了,看效果
  性能方面,最大支持10万条数据左右。文字标注功能
  我在github上搜索leaflet+text关键字,翻看了结果中的前20个代码库,找到了 LabelTextCollision 这个插件。
  LabelTextCollision插件创作的目的,是为了实现的文字标注的自动避让功能,实现方式是Canvas,文字标注功能是它顺带解决的问题。
  测试时,发现了它一个问题,1万条数据,在缩小地图时,显示很流畅,但放大地图时,会出现卡顿的现象,而且地图越放大,卡顿的就越厉害。
  通常在加载大数据量时,都是越缩小地图越卡顿,越放大地图越流畅。但这个插件刚好相反,这是为啥呢?
  个人推测,出现这种问题,多半是因为没有根据屏幕显示范围对数据做筛选造成的,不做筛选就会把屏幕显示范围外的数据也加上。
  这个插件因为它做了文字显示的避让,越缩小地图,数据在屏幕上显示的就越集中,自动避让掉的文字就越多,显示的文字就越少,展示就越流畅。
  越放大地图,数据在屏幕上显示的就越分散,自动避让的文字就越少,显示的文字就越多,这时如果没有做筛选,展示就会越来越卡顿。
  看了下它的代码,证实了我的推测,确实没有发现,对屏幕区域外显示内容进行限制的代码。
  那我们就来给它加上,在下图中的两个地方添加对屏幕显示范围的判断,只显示当前能看到的数据。
  再试一下,哈哈,搞定
  测试了下,优化后,可以加载5万条数据左右。更多场景
  上面列举了DivIcon常见的两种使用场景,以及如何使用Canvas方式提高展示性能的解决方案,如果你那还有DivIcon的其它使用场景,可以在下方留言,我们一起讨论解决方法。总结Canvas-Markers插件的目的是为了解决,大批量数据展示时的性能问题。DivIcon实现的原理是在HTML页面中添加DOM元素,大量添加和修改DOM元素会拉低浏览器展示性能。从提高展示性能的出发点考虑,Canvas-Markers插件不应该去支持DivIcon。用DivIcon,通常是为了实现标签功能和文字标注功能,这两个功能都有Canvas方式的解决方案。对Canvas-Markers插件进行优化,增加文字接口,可以替代DivIcon实现标签功能。LabelTextCollision插件可以实现文字标注的自动避让功能,它是用Canvas方式实现,可以替代DivIcon实现文字标注功能。LabelTextCollision插件在地图放大时,最多只能展示1万条数据左右,优化后可以达到5万条数据左右。在线示例
  标签功能 http://gisarmory.xyz/blog/index.html?demo=piconError-CanvasMarker
  文字标注功能 http://gisarmory.xyz/blog/index.html?demo=piconError-LabelTextCollision源码
  标签功能 http://gisarmory.xyz/blog/index.html?source=piconError-CanvasMarker
  文字标注功能 http://gisarmory.xyz/blog/index.html?source=piconError-LabelTextCollision
  原文地址:http://gisarmory.xyz/blog/index.html?blog=piconError
  关注《GIS兵器库》公众号, 第一时间获得更多高质量GIS文章。
  本文章采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名《GIS兵器库》(包含链接: http://gisarmory.xyz/blog/),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。

Win11杀回手机,windows系统的手机又回来了据MSPoweruser报道,微软的SurfaceDuo双屏手机原本是要运行Windows10X的,直到微软放弃了这个项目,转而使用安卓系统。然而,如果历史可以改变的话,该掌上电脑丰田推出老头乐,约合人民币9。2万起售,续航可达150公里最近这两年,新能源车型可以说是受到了越来越多人的青睐,其中,在我们国内新能源汽车领域,有这样一款车型,它自上市以来销量稳居不减,并且还经常霸占我们国内新能源汽车销量榜首的位置,它就保时捷Taycan销量超过911,新能源车型占比持续上升记者周纯粼编辑尽管其SUV车型仍然占据主导地位,但今年迄今为止,保时捷除了SUV之外的其他车型中最畅销的是其首款电动车Taycan。今年前九个月,保时捷在全球交付了28,640辆T别再小瞧电动车,国内首款高性能智电休闲踏板森蓝ERT3文大渝图AK47现如今,新能源车发展迅猛,大有取代传统燃油车的趋势。诸如特斯拉BYD理想等厂商推出的新能源车型,正一步步以更高的动力更智能的驾驶体验更未来的设计吸引着年轻消费群体。七大容易引发风险的网络习惯网上购物移动支付云存储网络给我们的生活带来了太多的便利,然而如果使用网络时不注意自己的习惯,可能也会给一些不法之徒带来可乘之机,导致资金的流失或隐私的泄露。自查看一看,七大容易引发加密货币投资仓鼠Mr。Goxx去世一生的投资回报率25此前在外网大火的区块链投资仓鼠Mr。Goxx于11月22日上午死亡,据其主人发布相关讣告,仓鼠是于11月21日开始停止进食次日被主人发现在笼中去世的,Mr。Goxx除了偶尔会有肾脏思科华为H3C基本命令对照表思科华为H3C作用noundoundo取消关闭当前设置showdisplaydisplay查看显示exitquitquit退回上级hostnamesysnamesysname设置主妥妥的智商税!这些手机配件你们买过多少?当你换上iPhone13或者国产旗舰手机的时候,往往会在网上看关于这款手机的配件,正常的有手机壳,手机膜等等,但是关于手机不正常的配件就多了去了!浩南给大家总结一些智商税的手机配件如今大火的折叠屏手机拍摄鸡肋?那是因为你缺少这么一个手机云台如今的手机影像系统实力到底有多厉害,相信大家都已经有目共睹了,而且随着算法的不断提升,手机在影像拍摄方面必定会更加的厉害。但又由于手机体积的限制,虽然画质上去了,但是在当下主流用户华为Mate50Pro渲染图手写笔2英寸圆屏,2亿相机依然独步天下华为P50Pocket首次搭载了圆形的副屏设计,而且这个圆形的副屏和三星或者小米手机的副屏设计完全不同,可以称得上是惊为天人,而且辨识度也非常高。如果华为P50Pocket机身背面携旗舰级SoC与高效散热来袭!性能新机iQOONeo5SE正式开卖在12月20日的新品发布直播中,iQOO正式推出了旗下两款全新机型iQOONeo5S以及iQOONeo5SE。其中新机iQOONeo5S在前几天正式开售,并接连斩获了多个主流电商平
DysonPureCool空气净化风扇让洁净的空气覆盖房子的每个角落Dyson又来了,一直以来Dyson都在家居方面都是黑科技的典型代表,DysonPureCool空气净化风扇在家居环境中在空调传统空气净化器面前会不会成为鸡肋呢?随着人们的生活物质杠精附体带你体验荣耀9XPro红米Note8Pro谁的更强荣耀和红米所针对的用户群体都是年轻的用户群,近期它们也都发布了自己的新品荣耀9XPro和红米Note8Pro,那么谁才是你的菜?相信读完这篇文章将对你有所帮助。这就是今天的主角荣耀魅族16T发布会四款新品从269到1999每一个都是同价位中的顶配2019年10月23日,中国,北京魅族科技有限公司(MEIZU)于北京正式发布大屏娱乐旗舰手机魅族16T,售价1999元起,将于10月28日上午10点正式开售。作为一部为年轻人打造百元能买到哪些数码好物?双十一首推这四款到手价不超过600元自2009年第一届双十一狂欢节以来,每年的11月11日便成了用户剁手的时刻。而到了今年,双十一预售活动更是从10月份就已陆续开始,截至目前已有众多品牌推出了满减折扣等活动。那么在今别再到处贴小广告啦BoogieBoard推出电子便签本好记性不如烂笔头,随着生活工作的节奏日益加快,有时候刚刚挂在嘴边的事情一转身就忘得一干二净,所以便签条的出现可以说是一项非常伟大的发明,有什么事直接写下来,贴在自己最容易看得到的地AMD锐龙三代没有多芯片APUTDP功耗同二代AMD日前正式揭晓了第三代锐龙桌面处理器,代号Matisse,类似数据中心的二代EPYC霄龙采用了chiplet多芯片设计,包含一颗CPUDie(台积电7nm)一颗IODie(GF酷冷至尊VGold电源升级到来风扇智停10年质保CES2019期间,机电大厂酷冷至尊发布了一系列新品,其中电源除了顶级的VPlatinum白金系列,V系列也升级为VGold金牌系列,全面加强。酷冷VGold系列电源目前有550W奔驰S级将推纯电动版本续航或超500km据外媒报道,奔驰全新S级路试谍照被曝光,新车基于MRA平台打造,将比现款车型在车身尺寸和轴距上进一步加长,值得一提的是,新车还将推出纯电动版本。从曝光的谍照看,新车外观上采用了最新福特推出臀部模拟器浇水当汗液据外媒1月10日报道,美国汽车制造商福特推出了一款名为Robutt的臀部模拟器,用于模拟剧烈运动后的用户,大汗淋漓地进入汽车,以便测试汽车座椅的耐用性,是否能够抵抗汗水侵蚀。福特R李想澄清当年被赶出汽车之家这个污点我不背2月10日下午消息,车和家CEO李想今日在微博发文,回应几年前离开汽车之家的传闻。李想澄清,很多人认为我是被赶出汽车之家的,并反复以此攻击我,这个污点我不背。2011年想离开汽车之啥是外贸盒子,网络机顶盒还分内销外贸?开店大概一周多了,接到不少咨询,所以今天再花时间讲讲盒子那点事,至于之前的盒子普及知识和选购建议,大家可以翻阅我之前的文章。啥是外贸盒子?很简单这类盒子主要的市场在海外,但我们作为