百度、高德、腾讯、微软、谷歌等商业化地图的选择

admin 发布于 2024-03-23 阅读(79)

背景

公司原有的几个产品中使用了百度地图作为个性化的地图大屏底图,近期百度、高德陆续有商务联系我们要买商业授权,否则xxx,商业授权的起步价都是5万每年,公司处于起步阶段,5万一年的费用还是有点小贵,需要寻求免费的地图解决方案。

业务系统中用到的百度地图功能点

使用百度地图时,用到的几个主要功能点:

对于免费地图的需求 地图源的选择

首先肯定要排除百度、高德、腾讯、微软、谷歌等商业化地图,国内的这3家都是5万一年起步,谷歌国内用不了,微软的是按照调用次数收费,有一定的免费额度,比国内的好一些。

所以,还需要寻找其他解决方案,这里给出几个选择:

天地图,这是中国的自然资源部下面的一个站点。

,这是一家美国公司的地图产品

综合上面的优缺点,建议优先使用天地图,如果考虑美观性以及个性化地图的需求,可以使用,但是要确保可以随时切换到天地图。

地图API的选择

上文提到的天地图、都有自己的 api,且有丰富的官方文档,但是如果考虑到上一节提到的需要随时在和天地图直接切换,则最好不要直接使用某个特定厂家的api。此时可以使用 ,这是一个用于移动友好的交互式地图的开源 库,他支持所有符合OGC WMTS标准的地图源,这就包括了, 、天地图,以及像百度、高德、必应、谷歌等所有主流的地图的tile源,所以我们只需要使用 的api来开发地图功能,如果要切换地图,只需要切换的地图图层就可以了。

关于的具体用法,可以看他的官方文档(),此处不再多说。

地图的扩展

前面提过,需要在地图上叠加的散点图,使用百度地图时,可以使用官方提供的百度地图扩展 --bmap,如果你到npmjs去搜索,会发现还有高德地图扩展、谷歌地图扩展必应地图扩展、天地图扩展、扩展、地图扩展

这里我们主要使用地图扩展

搜索API的选择

(), (), 天地图 都提供了地图搜索的功能,这三者的搜索功能在国内都无法和百度、高德这种商业化地图媲美,如果一定要选一个,在国内就选择天地图吧,他的搜索功能勉强还能用,其他两个的中文搜索的准确度比较低,大部分时候给出的都不是你想要的内容。

这里主要用到了天地图的地名搜索功能,具体看官方的说明。

开发注意事项

开发过程中,所有使用L.创建图层的操作提取到公共函数中,各个需要创建地图的页面都通过这些公共函数来创建,这样后续要切换地图时,只要更改公共函数中的实现就可以了。

如果要实现动态切换,只要把公共函数和后端接口结合起来即可。

结果

使用天地图的卫星地图作为底图,通过叠加站点信息

使用的自定义地图为底图,叠加站点信息

使用天地图的搜索功能+天地图的标准地图来展示一个地图位置选择对话框

标签:  高德 天地图 百度谷歌 百度 谷歌 

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。