海外地址解析有多种方案:
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地址解析
1、打开官网here.com
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接口,照此编写代码即可。
你好、我是需要微信小程序海外的逆转码编码、想通过海外的详细地址获取经纬度,我看到腾讯地图的现在废弃海外的。请问here支持吗?
1、在微信小程序中用here是不是不用npm 下载下来。直接在云函数写就可以用?
2、不用云函数可以吗?可以直接在微信小程序代码里面写吗?
你好,请问有这个文件吗?const rp = require('request-promise')
你好,这边已经申请到了海外地图的权限,后端也已经将海外坐标系转为国内的火星坐标系,然后使用微信小程序自带的地图组件插件,传入经纬度,显示地图页面是空白的;而国内则是正常的
请外小程序端海外经纬度获取到后,页面的空白显示怎么解决?