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

营销软件网站wordpress十大主题

营销软件网站,wordpress十大主题,网站建设维护人员岗位,永久免费的网页游戏场景: 移动端h5中,当我们需要在地图中展示很多marker点坐标的时候,通常会使用 bm-marker ,去循环生成marker点,在数量不多的情况下是没问题的,但是随着数据量的增加,地图就会变得卡顿,以及渲染延…

场景: 移动端h5中,当我们需要在地图中展示很多marker点坐标的时候,通常会使用 bm-marker ,去循环生成marker点,在数量不多的情况下是没问题的,但是随着数据量的增加,地图就会变得卡顿,以及渲染延迟,体验感极差
解决办法第一个想到的就是海量点 BmPointCollection,但是海量点明显的缺点就是不能自定义marker样式(icon)。但是业务是需要自定义图标 的,那没办法,就只能使用以下两种方式进行优化。

  1. 使用点聚合 BmlMarkerClusterer ,这个没啥好说的,缺点也很明显,不方便查看。
    <baidu-map @click="mapClick" class="bm-view" :zoom="12" :center="center"><bml-marker-clusterer :averageCenter="true" :styles="styles"><bm-marker @click="clickMarker(marker)" v-for="marker of pointList" :key="marker":position="{ lng: marker.lng, lat: marker.lat }" :icon="icon"></bm-marker></bml-marker-clusterer>
    </baidu-map>
    2.根据当前可视区域进行渲染(只渲染当前可视区域内的marker点)
    <!-- 1 正常渲染 添加ready事件  /> -->
    <baidu-map @click="mapClick" class="bm-view" :zoom="12" :center="center" @ready="readyMap"><bm-marker @click="clickMarker(marker)" v-for="marker of pointList" :key="marker":position="{ lng: marker.lng, lat: marker.lat }" :icon="icon"></bm-marker>
    </baidu-map>
    
    let bounds = ref(null) //可视区域
    let map = reactive(null) //地图实例
    let sourceList = [] //接口请求的marker点数据
    let pointList = [] //渲染的marker数据//地图ready事件
    function readyMap({ map:data }) {map = data//获取可视区域bounds.value = map.getBounds()// 地图添加缩放和拖拽事件 动态获取地图可视区域map.addEventListener('dragend', getBounds)map.addEventListener('zoomend', getBounds)
    }
    //获取地图的可视区域
    function getBounds() {if (!map) returnbounds.value = map.getBounds()
    }
    //动态计算区域内的坐标 sourceList.value
    watchEffect(() => {if (!bounds.value || !sourceList.value.length) return []//获取可视区域左下角let SouthWest = bounds.value.getSouthWest()//获取可视区域右上角                                                                                                                                                       				let NorthEast = bounds.value.getNorthEast();let markerList = [] // 筛选 获取区域内的点 sourceList.value.forEach(item => {if (item.lon >= SouthWest.lng &&item.lon <= NorthEast.lng &&item.lat >= SouthWest.lat &&item.lat <= NorthEast.lat) {markerList.push(item)}})//赋值显示pointList.value = markerList
    })
    //最后移除监听事件
    onUnmounted(() => {if (map) {map.removeEventListener("dragend", getBounds)map.removeEventListener("zoomend", getBounds)}
    })//marker icon 样式
    let icon= ref({url: 'https://xxxxxxxxxxxxxxxx.png',size: { width: 18, height: 18 },opts: {imageSize: { width: 18, height: 18 },},
    })

    如果还有其他更好的办法,欢迎补充!

http://www.yayakq.cn/news/714106/

相关文章:

  • 网站自动识别移动终端wordpress now 1.5
  • 软件下载网站如何建设门户网站系统源码
  • 设计营销型网站域名长沙建站seo公司
  • 报名窗口网站建设专业网站定制团队
  • 二建证从住房建设厅网站调出流程wordpress 扒站
  • 漳州市住房与城乡建设部网站wordpress 分类目录 层级
  • 如何做视频网站旗下账号做门户网站 公司营业范围是啥
  • 网站建设课设报告wordpress网站收录插件
  • 吉林公路建设有限公司网站百度重庆营销中心
  • 平度市建设局网站深圳最近一个星期新闻
  • 微网站怎么注册天河区网站建设
  • iis网站服务器安全隐患wordpress html结尾
  • 豫icp郑州网站建设企业为什么要开发网址
  • 网页网站制作公司网站限时抢购怎么做
  • 网站活动打造深圳建设监理协会网站
  • 潍坊市做网站的公司企业网站制作免费下载
  • 局域网网站开发企业网站源码 php
  • 厦门免费网站建设图形化html编辑器
  • 产品网站设计论文做外贸网站要多少钱
  • wordpress制作的网站模板wordpress更新服务评论
  • 电影网站模板源代码临沂网站建设电话
  • 个人网站整站下载建设规划许可证公示网站
  • 全国大型网站建设传奇网站怎么建设
  • 陕西网站制有赞分销员的功能和规则
  • 网站建设模拟软件wordpress前端是什么
  • 北京网站建设联系电话成免费crm破解版
  • 免费企业建站系统源码商城通网站建设
  • 深圳住房和城乡建设局网站大气ppt模板
  • 建站公司跑路了域名怎么办免费ppt模板下载爱ppt
  • 太仓专业网站建设网站建设中需要注意的问题