顺义公司建站多少钱,引导式网站,网站建设报价单表格模板,icp备案在哪里查询地图开发
市面上有高德#xff0c;百度属于常用的#xff0c;以及小程序内置的腾讯地图#xff0c;通常用这部分的功能#xff0c;都需要申请对应的key#xff0c;来进行使用#xff0c;一般刚刚开始流量不大#xff0c;到没什么#xff0c;流量一大就需要付费。
如何…地图开发
市面上有高德百度属于常用的以及小程序内置的腾讯地图通常用这部分的功能都需要申请对应的key来进行使用一般刚刚开始流量不大到没什么流量一大就需要付费。
如何解决这个问题就只能使用开源的地图库 WebGIS四大地图框架Leaflet、OpenLayers、Mapbox、Cesium
四种框架如何选择的问题3d需要首选cesium但对浏览器配置与显卡要求很高吃内存。如果不是特别说明一般是不推荐使用它来做二维功能。 leaflet是老牌的二维内置支持wms 社区有插件也支持wmts 目前使用mapbox是可以申请对应的key来使用图层但一般会自己开发gis服务来发布地图也就是不需要key通过使用对应的开源库Maplibre来开发二维。
地图的要素类似就是底图服务瓦片天地图矢量图配上经纬度的geojson格式数据以及一些图片撒点热力图外加图表echarts轨迹效果水波纹label等等。
底图服务可以使用天地图官网申请的地址但对应的一般也有次数要求通常使用geoserver 然后导入数据生成或者使用数据库空间数据库 java 之类的也可以使用第三方软件。二维的省市区通常数据是开源的
组件和地图的使用框架与地图的结合通常是引入原生的js库然后封装一个基础地图功能组件抛出一些对外的方法来使用内部的功能也可以根据常用的功能来封装子组件实现类似高德vue组件库那种形式
一般这样就可以提高复用的效率就涉及了模块化的打包市面上目前是流行umd esm 来使用使用vite与webpack来打包。一般涉及的插件有时候不支持requirevite也许有很多问题我通常是在webpack5里面或者4里面打包变成umd然后使用资源路径引入全局对象的方法来兼容。
打包的话umd 与 esm格式其实都需要rollup就可以解决这个问题借助vite就可以在组件库的版本与git的组合使用pnpm与lerna使用工作空间来解决问题如果需要给内部使用可以搭建私有的git以及私有的npm库地址内部方便使用如果是对外部可以对内容加密。支持key之类的收费。等等
目前的生态地图其实都有可以找到对应的组件库比如leaflet cesium但都不是很灵活所以自己的从头弄需要花费时间根据不同的需求
地图目前有echarts的二维那种数据与视图的映射使用符合geojson的地图数据注册好使用的数据模型。然后结合图表的事件点击来联动有些会要求我们使用threejs来实现三d的地图这个就涉及到复杂的三维投影数据转化。
额外的目前如果不使用内置的地图组件比如腾讯那在小程序的使用做这些功能就使用webview嵌入地图或者three或者使用其他的比如纯js的页面传一个token过去然后业务都做在h5页面来解决这个问题。