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

30岁做网站编辑用h5开发的网站模板下载

30岁做网站编辑,用h5开发的网站模板下载,昆明建个网站哪家便宜,推广普通话喜迎二十大的手抄报简单背景&#xff1a; 业务方要求将 原效果图 参考效果图 最终实现效果 变更点&#xff1a; 1.将原有的高德地图改为天地图 2.呈现形式修改&#xff1a;加两层遮罩&#xff1a;半透明遮罩层mask区域覆盖物mask 实现过程&#xff1a; 1.更换地图引入源 <link rel"style…

背景:

业务方要求将

原效果图
原效果图
参考效果图
最终实现效果

变更点:

1.将原有的高德地图改为天地图

2.呈现形式修改:加两层遮罩:半透明遮罩层mask+区域覆盖物mask

实现过程:

1.更换地图引入源

 <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/maptalks/dist/maptalks.css" /><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/maptalks/dist/maptalks.min.js"></script>

2.天地图基本配置-tk

3.实用方法封装

1)初始化地图方法封装

/*** 初始化地图*/
export const initMap = (dom: any) => {window.maptalksMap = new window.maptalks.Map(dom, mapOptions)
}

2)初始化底图

/*** 初始化底图*/
export const initBaseLayer = () => {const baseLayer = new window.maptalks.TileLayer(mapLayers.baseLayer, {urlTemplate: TianDiTuTile,subdomains: ['1', '2', '3', '4', '5'],attribution:'&copy; <a target="_blank" href="http://www.tianditu.cn">Tianditu</a>'})window.maptalksMap.setBaseLayer(baseLayer)
}

3)初始化底图的地点文字标记

/*** 初始化底图的地点文字标记*/
export const initBaseMarkLayer = () => {const baseMarkLayer = new window.maptalks.TileLayer(mapLayers.baseMarkLayer, {urlTemplate: TianDiTuMark,subdomains: ['1', '2', '3', '4', '5']})baseMarkLayer.addTo(window.maptalksMap)
}

4)设置半透明遮罩层mask,其中,maskGeoJSon为导出的高德数据

/*** 设置半透明遮罩层mask*/
export const initMaskPolygonLayer = () => {const maskPolygonLayer = new window.maptalks.VectorLayer(mapLayers.maskLayer)const geojson: any = maskGeoJSon.features[0].geometryconst wgsJson = gcoord.transform(geojson, gcoord.GCJ02, gcoord.WGS84);const polygons = window.maptalks.GeoJSON.toGeometry(wgsJson,(geometry: any) => {geometry.setSymbol({lineColor: '#01e0f1',lineWidth: 4,lineOpacity: 0.4,polygonFill: '#014493',polygonOpacity: 0.3})})maskPolygonLayer.addGeometry(polygons)maskPolygonLayer.addTo(window.maptalksMap)
}

5)设置覆盖物-某区域轮廓

/*** 设置覆盖物-嘉善轮廓*/
export const initAreaPolygonLayer = () => {const areaPolygonLayer = new window.maptalks.VectorLayer(mapLayers.areaPolygonLayer)const polygons = window.maptalks.GeoJSON.toGeometry(jiashanGeoJSon,(geometry: any) => {geometry.setSymbol({lineColor: '#01e0f1',lineWidth: 4,lineOpacity: 1,polygonFill: '#0e4d96',polygonOpacity: 0.8})})areaPolygonLayer.addGeometry(polygons)areaPolygonLayer.addTo(window.maptalksMap)
}

6)设置地名

/*** 设置地名*/
export const initAreaNameLayer = () => {const areaNameLayer = new window.maptalks.VectorLayer(mapLayers.areaNameLayer)jiashanTownCenter.forEach(item => {new window.maptalks.Marker(item.position, {symbol: {textName: item.name,textSize: 20,textFill: '#ccc'}}).addTo(areaNameLayer)})areaNameLayer.addTo(window.maptalksMap)
}

4.应用

useEffect(() => {if (amapDomRef.current) {initMap(amapDomRef.current) // 初始化地图initBaseLayer() // 初始化底图initBaseMarkLayer() // 初始化底图的地点文字标记// initBackgroundLayer()initMaskPolygonLayer() // 设置半透明遮罩层maskinitAreaPolygonLayer() // 设置覆盖物-区域(某地区)轮廓initAreaNameLayer() // 设置地名const data: any[] = getAllRealSchoolByMap().map(c => {return {name: c.title,position: c.position,status: c.checkStatus}})setCampusSecurySchoolMarkerToMap(data) // 业务数据点}}, [amapDomRef])

运行效果:不理想,出现了白色间隙,后面找出原因是因为高德地图和天地图不是同个坐标系(因为高德地图是火星坐标,而天地图是wgs84墨卡托4490),所以从高德地图上拉取的数据在天地图上不能完全适配,就出现了这样的间隙。

高德:火星坐标

天地图:wgs84墨卡托4490

解决方案:用gcoord进行坐标转换,参考文章:高德地图更换天地图底图(坐标转换)—使用高德API(WMTS)_高德经纬度转天地图经纬度_❄️文宸er的博客-CSDN博客

const wgsJson = gcoord.transform(geojson, gcoord.GCJ02, gcoord.WGS84);

最后,附上接口文档

MapTalks手册:https://doc.maptalks.com/docs/style/symbols/

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

相关文章:

  • 广东微信网站建设价格响应式企业网站设计与实现
  • 手机网站优化指南怎么制作网站程序
  • 弥勒市建设局网站wordpress 用户组
  • 福建富通建设有限公司网站青海省建设厅网站执业
  • 传奇新开网站服设计工作室起名
  • 电子商务网站建设的平台企业网站建设国内外现状
  • 营销软件网站建站工具有哪些
  • 网站建设哪里去学建网站能赚钱吗
  • 最好网站建设公司临西企业做网站
  • 网站制作网站价格500强企业网站建设
  • 有云服务器和域名怎么做网站典型的o2o平台有哪些
  • 一些你不知道的网站手工活300元一天
  • 网站留言板块怎么做网站集约化建设标准
  • 崇明手机网站建设wordpress 美化 插件大全
  • 课程网站建设简介遵义网站优化
  • 做博客用什么系统做网站好股东分红如何合理节税
  • 企业购 网站建设运营设计是干什么的
  • 网站建站公网页设计与网站开发的区别
  • 网站设计的论坛简单网站建设论文总结
  • 阿里巴巴做网站么上海有哪些大公司
  • 寿阳网站建设怎么做QQ信任网站
  • 衡水网站设计哪家专业wordpress 下载选择
  • 郑州个人网站建设目前最好的免费网站
  • 广西建设职业技术学院青年网站钢构网架加工厂
  • 不能进入建设银行网站建设银行e路护航官方网站登陆
  • 地产公司做网站维护写代码么福建省中嘉建设工程有限公司网站
  • 怎么推广网站学院网站建设方案 网站内容
  • 专业做物流公司网站新网站建设流程
  • 建设网站阿里云服务器wordpress默认主题
  • 网站建设步骤 高清教 程上百度推广的网站要多少钱