开源免费地图方案-基于leaflet和天地图的地图方案

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

原文平台:奥宏文档

1.0.0