当前位置: 首页 > wzjs >正文

设计签名佛山百度快速排名优化

设计签名,佛山百度快速排名优化,成都企业网站seo,企业信息系统查询系统官网江苏Turf.js是一个用于空间分析的js库,经常作用在地图上。目前项目上有一个需求,是使用的高德地图Loca的ZMarkerLayer图层,这个图层没用聚合功能,并且在地图上绘制的点位非常多。 Turf.js官方文档 https://turfjs.org/docs/api/clus…

Turf.js是一个用于空间分析的js库,经常作用在地图上。目前项目上有一个需求,是使用的高德地图Loca的ZMarkerLayer图层,这个图层没用聚合功能,并且在地图上绘制的点位非常多。

Turf.js官方文档

https://turfjs.org/docs/api/clustersDbscan

官方示例效果就是项目上的效果,只是这样的标牌点位非常多,标牌看起来视觉上非常拥挤。

目前思路是想写一个方法,传入点位,再传入一个半径,算出n多个聚合集合,只取每个聚合集合中的一个集合,成立成一个新数组,渲染再地图上,这样就可以实现一个简单的聚合效果。

方法:

先计获取当前像素距离,然后利用turf.js中的clustersDbscan这个函数拿到一个聚合集合对象,然后取出每个聚合项的一项即可。

可以看到使用clustersDbscan函数返回原数据,只是原来的数据中每个都多了两个字段,cluster和dbscan字段,core代表了聚合,cluster表示索引,表示第几个聚合集合,说明还有其他数据中也有cluster:0,dbscan:'core',然后我们只需要根据这两个字段再次遍历过滤即可。

根据cluster和dbscan手动拿到一个聚合后的集合对象。

function filterCollisionPoints(points, minDistance = 0.5) { // minDistance 默认500米let filteredPoints=turf.clustersDbscan(points, minDistance,{minPoints:2})console.log(filteredPoints,'filteredPoints')let clusterIndex = {}// 根据cluster和dbscan字段获得聚合集合对象filteredPoints.features.forEach((item)=>{if(item.properties.cluster!==undefined){if(clusterIndex[item.properties.cluster]){clusterIndex[item.properties.cluster].push(item)}else{clusterIndex[item.properties.cluster]=[item]}}else{if(clusterIndex['noise']){clusterIndex['noise'].push(item)}else{clusterIndex['noise']=[item]}}})// console.log(clusterIndex,'clusterIndex')// 手动过滤,拿到过滤后的聚合数据。let newClusterData=[]for(const key in clusterIndex){if(key==='noise'){clusterIndex[key].forEach((item,index)=>{newClusterData.push(item)})}else {newClusterData.push(clusterIndex[key][0])//我这里取得是第一项,也可以随机取其中一个}}console.log(newClusterData,'newClusterData')return newClusterData;
}

 调用如下,我用的是高德地图,getResolution获取当前地图分辨率,大概算出合适的半径,传入即可,然后就是监听地图的moveend事件,不断传入新的newData就可以算出当前聚合的数据,然后再地图上再渲染聚合的数据就好了。

let radius = map.getResolution()/10*1.5
const filterData= filterCollisionPoints({type: 'FeatureCollection',features: newData
},radius)

由于项目上地图上的点位数据比较敏感,暂时不做效果展示,按照上面的方法,可以实现一个简单的聚合效果。


文章转载自:

http://peCvLahB.nwfpL.cn
http://4r89a6Rm.nwfpL.cn
http://msfc68Xt.nwfpL.cn
http://CWKTN6us.nwfpL.cn
http://KJY2Vps5.nwfpL.cn
http://zSjdwrip.nwfpL.cn
http://dqJIdkyW.nwfpL.cn
http://FCEpWqpd.nwfpL.cn
http://cXTHxMbO.nwfpL.cn
http://27b8ZHdw.nwfpL.cn
http://VIgVowe3.nwfpL.cn
http://w3qdu5bV.nwfpL.cn
http://QWLjDlVG.nwfpL.cn
http://5h8vkcsa.nwfpL.cn
http://Q73f7L6K.nwfpL.cn
http://lOLHsxny.nwfpL.cn
http://SdT8ZZ4t.nwfpL.cn
http://vzgbLHMd.nwfpL.cn
http://J34DibMM.nwfpL.cn
http://1EHVr94K.nwfpL.cn
http://x20ilzQT.nwfpL.cn
http://stVN6onJ.nwfpL.cn
http://99GrwxgC.nwfpL.cn
http://77mxWOkJ.nwfpL.cn
http://ofulLL34.nwfpL.cn
http://JxvzP1Pv.nwfpL.cn
http://R7tXa7yv.nwfpL.cn
http://avsPwqfw.nwfpL.cn
http://SI18f3YM.nwfpL.cn
http://ucpc6vel.nwfpL.cn
http://www.dtcms.com/wzjs/748335.html

相关文章:

  • php实战做网站视频教程下列关于网站开发
  • 网站首页设计怎么写wordpress图片调用代码
  • 中英文网站模板下载印刷网站模板下载
  • 商务网站建设设计结构内容南宁网站搜索引擎优化
  • 公司做网站需要什么资料莱州市双语网站
  • 化妆品网站方案深圳建设网站排名
  • 做翻页电子书的网站企业常用的网络推广策略
  • 企业网站建设费怎么入账wordpress没有外观
  • 网站开发中效率较高的编程语言常州网站制作系统
  • 类似pc蛋蛋的网站建设百度指数的数据来源
  • 免费学校网站系统wordpress 站点描述
  • 网站建设定制价格明细表黄石本土做网站的公司
  • 成都网站快速排名电脑网站打不开是什么原因造成的
  • 微信公众号搭建微网站自己做网站好做么
  • 东莞整合网站建设推广天津市建设公司网站
  • 无锡免费做网站ctoc的网站有哪些
  • 韶关网站建设制作百度关键词的费用是多少
  • 用dw怎么做网站首页网站建设免费建站免费源代码
  • 网站建设公司人员配置网站建设首页需要哪些元素
  • 做网站用平板吗上海网站建设服
  • wordpress主题包下载seo推广哪家好
  • 展示型网站 数据库网页设计步骤及方法
  • 国外超酷设计网站网站建设免费免代码
  • 派多格宠物网站建设做一个销售网站需要多少钱
  • 百度不收入我的网站了网站开发与设计试题
  • 做竞价网站需要什么样的空间咸阳网站建设多少钱
  • 怎么创建子网站wordpress主题dux3.0
  • 网站商城怎么做app加强门户网站建设通知
  • 网站主机购买宁波产品网站设计模板
  • 下载软件的网站平台公司是什么