电商外包售价才4W,但是高德地图API一年收费就得5W该怎么办?
1.背景
最近接的外包但快要结束了,趁热打铁希望复盘一下项目中的亮点。起因是这样的,由于外包单子其实还是属于电子商务小程序,考虑到地址模块要求接入地图API,现在看来可能但是应该和甲方再商量商量加点预算或者放弃接入地图API,简化成字符串输入地址可能对于开发来说更合理一些。回到需求上来,甲方需要的是能够借助地图API进行定位,辅助用户填写地址。这里首先想到的便是高德地图或者腾讯地图了,这些都支持地图搜索,能够做成下图这种效果:
但是一看调用次数,在高德地图API文档里面,日调用次数最多只有100次,考虑到商城之后用户增加,这可能为后续版本开发埋了一个大坑,而且高德地图中还提到了商用授权问题,可能会引起一些纠纷(腾讯地图API和高德地图API的限额和收费标准差不多)。
2.解决方案
为了能够降低成本,通过在网上搜集资料,最终发现,可以使用 天地地图API 来代替这种业务需求,在天地地图API配额说明文档中,日调用配额被放大了30倍,基本上是能够满足小程序起步需求了:
但是也带了一些问题,在使用天地地图API的过程中,我们发现接口中有一个省市区编码比较旧(使用的是9位国标码),大概是2020年的数据:
现在网上搜索的编码信息为大多都是6位数据:
于是我们评估了一下可行性,如果能够解决国标码问题,那其他的参数是否好拿到呢,分析发现是可行的:
接下来,问题就变成了怎么去拿到9位国标码了,通过在官网搜索,我们找到了2020年的全部编码数据,
下载之后发现包含了省市区三级数据,刚好是我们想要的:
于是问题就变成了怎么去清洗这个excel表格了,将它变成一个三级json数据使用,思路是首先利用在线excel转json,然后利用JavaScript对json数据清洗,大致代码如下(由于这个json数据比较长,接近4w数据,给出包含结果和清洗代码的省市区9位编码资源包):
for (let i = 0; i < result.length