海外地址解析有多种方案:
1、腾讯地图海外地址解析;
2、HERE地图解析;
3、Google地图解析(被墙,放弃)
以下重点介绍第1、第2种地址解析方案。
方案一:腾讯地图海外地址解析
步骤如下:
1、lbs.qq.com登录自己的账户;
2、控制台–工单–创建工单
3、选择:特色产品–海外位置服务
4、认真填写工单信息;
5、等待回复
6、腾讯工作人员回信,内容为:
七天的测试期,可以尽情测试你的代码接口了;
如果需要申请正式服务,最低配套餐为3万CNY,(我们嫌贵,果断放弃)
7、云函数实现地址解析的简单代码如下:
const rp = require('request-promise')
exports.main = async (event) => {
let opt = {
uri: 'https://apis.map.qq.com/ws/geocoder/v1',
qs: {
address: event.address,
oversea: 1,
language: 'en',
// country: "Australia",
key: 'HCDBZ-OHMA3-IMQ3R-*****-EW366-YNBVU'
},
json: true
}
return await rp(opt)
}
代码简单吧?哈,就是这么简单,果然,返回了某地址event.address的正确信息,包含GPS坐标;
我们猜测腾讯海外位置服务可能调用的是HERE接口,立马转向HERE本尊,直接连HERE地址解析接口。
方案二:HERE地址解析
2、点击Delevoper
3、注册开发者账号,登录;
4、右上角头像–Projects
5、Projects里应该此时只有一个免费Freemium套餐,免费的,真香;点击进入;另外还有两个套餐可选,价格能接受。
6、在REST里Create APP创建一个应用,并创建一个API key;
7、这样就可以使用HERE的接口了,云函数里访问HERE的代码如下:
const rp = require('request-promise')
exports.main = async (event) => {
if (event.address) { } else return 'wrong address'
let opt = {
uri: 'https://geocode.search.hereapi.com/v1/geocode',
qs: {
q: event.address,
apiKey: 'x656fsEiUvnz************0MrcC4COBA8SVk'
},
json: true
}
return await rp(opt)
}
哈,是不是更简单?没错,就这几行代码就全部搞定通过地址信息查询地图坐标的功能了。
到此,海外地址功能搞定,其他HERE接口,照此编写代码即可。