先去腾讯地图官网申请开发密钥(Key)
https://lbs.qq.com/guides/startup.html
根据提示来操作就好。
申请完后继续以下操作:
//jsonp的跨域请求
$.ajax({
type: "get",
dataType: 'jsonp',
data: {
key: "", // 填申请到的key
address: "", //具体的地址
output: 'jsonp' //返回格式:支持JSON/JSONP,默认JSON
},
jsonp: "callback",
jsonpCallback: "QQmap",
url: "https://apis.map.qq.com/ws/geocoder/v1/?",
success: function (json) {
if(json.status == 0) {
lat = json.result.location.lat;
lng = json.result.location.lng;
console.log('经度:', lat);
console.log('纬度:', lng);
} else {
alert('错误信息:', json.message);
}
},
error: function (err) {
alert("异常错误,请刷新浏览器后重试");
}
})
地址解析(地址转坐标)官方文档地址: https://lbs.qq.com/webservice_v1/guide-geocoder.html
请求URL
该请求为GET请求
https://apis.map.qq.com/ws/geocoder/v1/?address=
请求参数
参数
必填
说明
示例
address
是
地址(注:地址中请包含城市名称,否则会影响解析效果)
address=北京市海淀区彩和坊路海淀西大街74号
region
否
指定地址所属城市
region=北京
key
是
开发密钥(Key)
key=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77
output
否
返回格式:支持JSON/JSONP,默认JSON
output=json
callback
否
JSONP方式回调函数
callback=function1
响应结果
名称
类型
必填
说明
status
number
是
状态码,0为正常
310请求参数信息有误
311Key格式错误
306请求有护持信息请检查字符串
110请求来源未被授权
message
string
是
状态说明
result
object
是
地址解析结果
location
string
是
解析到的坐标
lat
number
是
纬度
lng
number
是
经度
address_components
object
是
解析后的地址部件
province
string
是
省
city
string
是
市
district
string
是
区,可能为空字串
street
string
是
街道,可能为空字串
street_number
string
是
门牌,可能为空字串
ad_info
object
是
行政区划信息
adcode
行政区划代码
similarity
number
是
即将下线,由reliability代替
deviation
number
是
即将下线,由level代替
reliability
number
是
可信度参考:值范围 1 - 10
我们根据用户输入地址的准确程度,在解析过程中,将解析结果的可信度(质量),由低到高,分为1 - 10级,该值>=7时,解析结果较为准确,<7时,会存各类不可靠因素,开发者可根据自己的实际使用场景,对于解析质量的实际要求,进行参考。
level
number
否
解析精度级别,分为11个级别,一般>=9即可采用(定位到点,精度较高) 也可根据实际业务需求自行调整,完整取值表见下文。