当前位置: 首页 > 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://www.dtcms.com/wzjs/805286.html

相关文章:

  • 网站建设如何报价网站建设的资料的准备
  • 网站开发技术课程设计说明书wordpress登录美化插件
  • 天津网站建设招标沙洋网站定制
  • 百度竞价排名正确解释桂林网站优化
  • 一般做一个网站专题页多少钱建设银行公司官网
  • 南通网站建设招聘2017wordpress整站源码
  • 松江网站建设网站建设公司好发信息网
  • 大兴做网站国家最新政策
  • 用织梦做企业网站网站项目设计流程案例
  • 做海报的网站有哪些wordpress如何一栏显示
  • 学校官方网站建设网站建设与网页设计案例教程pdf下载
  • 网站权重如何查询网站歌曲代码
  • 网站建设公司怎么做天津网站建设 易尔通
  • 网站后台上传文件网站运营 广告
  • wordpress 结构化数据库东莞全网seo排名优化中心
  • 四川网站seo企业网站有哪四种类型
  • 做国外直播网站图文广告店最佳名字
  • 电子报 网站开发京粉购物网站怎么做
  • 有创意的婚纱网站模板做网站公司大型
  • 免费.net网站空间网站做的好看的
  • wordpress 网站小模块百度外推排名代做
  • 企业网站一般内容包括哪些烟台元和网络科技有限公司
  • 制作视频网站开发本公司经营网站建设
  • 车培训网站建设免费把图片生成链接
  • wordpress发布图片志鸿优化设计电子版
  • 做网站比较专业的公司如何分析竞争对手网站
  • 网站推广方案有哪些给我免费看播放片
  • 哪个网站的地图可以做分析图响应式网站排名
  • 网站建设分录百度有哪些产品
  • 紫色网站手机网站自助建站系统