uniapp的全平台的地图和技术解决方案。
天地图并没有提供像商业地图那样多的能力,比如缺少ip定位,缺少app的sdk等,leaflet也不支持小程序和app,uniapp也没有直接提供天地图的调用。此时我们应当如何做呢?
ip定位
首先我们应当自己实现一套ip定位接口,本项目已提供php的实现,可以直接调用或自行部署。
H5端
完全兼容本项目。
定位
h5端可不配置三方地图实现定位,无需处理。
打开位置、选择位置
完全依赖三方地图,应当实现拦截器,使用本项目实现一套H5的平替页面。
复杂地图
直接使用本项目源码即可,但不兼容其他uniapp的平台,因此应当实现一个平替map的组件。
但这只是从技术实现的角度考虑。从整个项目工作量的角度来说,直接按H5开发是最好的,可以享受leaflet的简洁的代码和现有模板资料。至于其他端,直接用webview,并且直接打开线上网页(不要在uniapp项目中实现)。
小程序
基础能力没有问题。
定位
无问题
打开位置、选择位置
无问题。
复杂地图
同H5,建议直接webview打开线上网页。
APP
定位
可以直接使用系统定位,只是准确度可能有问题。如果要求确实高,那就使用商业地图。
打开位置、选择位置
同H5,实现拦截器。
复杂地图
同H5,建议直接使用webview打开线上网页。
复杂地图为什么使用线上网页
从技术实现的角度,直接在uniapp的项目中实现是最好的,从另一个角度想,你的电脑端后台已经实现了地图的很多效果了(如选点、区域等),直接做一个合适的认证机制,加载线上的页面是最省事的。
无论线上的是用vue编译还是js引入,代码基本都能复用。同时leaflet的移动端兼容性也很好,所以完全没有问题。
原文标题:uniapp全平台地图方案
原文文档:开源免费地图方案-基于leaflet和天地图的地图方案
原文地址:https://doc.ulthon.com/read/augushong/ul-free-free-map/66cfd815766bb/zh-cn/1.0.0.html
原文平台:奥宏文档