简介
腾讯位置服务为微信小程序提供了基础的标点能力、线和圆的绘制接口等地图组件和位置展示、地图选点等地图API位置服务能力支持,使得开发者可以自由地实现自己的微信小程序产品。 在此基础上,腾讯位置服务微信小程序JavaScript SDK是专为小程序开发者提供的LBS数据服务工具包,可以在小程序中调用腾讯位置服务的POI检索、关键词输入提示、地址解析、逆地址解析、行政区划和距离计算等数据服务,让您的小程序更强大!
使用限制
微信小程序JavaScript SDK通过对腾讯位置服务WebServiceAPI接口进行封装而形成,因此和直接调用WebSerivceAPI的限制是等同的,
具体可参考:腾讯位置服务WebServiceAPI配额及使用限制
Hello world!
-
申请开发者密钥(key):申请密钥
-
开通webserviceAPI服务:控制台 ->应用管理 -> 我的应用 ->添加key-> 勾选WebServiceAPI -> 保存
(小程序SDK需要用到webserviceAPI的部分服务,所以使用该功能的KEY需要具备相应的权限)
-
下载微信小程序JavaScriptSDK,微信小程序JavaScriptSDK v1.1 JavaScriptSDK v1.2
-
安全域名设置,在小程序管理后台 -> 开发 -> 开发管理 -> 开发设置 -> “服务器域名” 中设置request合法域名,添加https://apis.map.qq.com
-
小程序示例
// 引入SDK核心类,js文件根据自己业务,位置可自行放置
var QQMapWX = require('../../libs/qqmap-wx-jssdk.js');
var qqmapsdk;
Page({
onLoad: function () {
// 实例化API核心类
qqmapsdk = new QQMapWX({
key: '申请的key'
});
},
onShow: function () {
// 调用接口
qqmapsdk.search({
keyword: '酒店',
success: function (res) {
console.log(res);
},
fail: function (res) {
console.log(res);
},
complete: function (res) {
console.log(res);
}
});
}
})
QQMapWX
小程序JavaScriptSDK核心类
构造函数 | 说明 |
---|---|
new QQMapWX(options:Object) | 参数: key : 必填,开发密钥(key),申请地址 腾讯位置服务 - 立足生态,连接未来 |
方法 | 返回值 | 说明 |
---|---|---|
search(options:Object) | none | 地点搜索,搜索周边poi,比如:“酒店” “餐饮” “娱乐” “学校” 等等 |
getSuggestion(options:Object) | none | 用于获取输入关键字的补完与提示,帮助用户快速输入 |
reverseGeocoder(options:Object) | none | 提供由坐标到坐标所在位置的文字描述的转换。输入坐标返回地理位置信息和附近poi列表 |
geocoder(options:Object) | none | 提供由地址描述到所述位置坐标的转换,与逆地址解析的过程正好相反 |
direction(options:Object) | none | 提供驾车,步行,骑行,公交的路线规划能力 |
getCityList() | none | 获取全国城市列表数据 |
getDistrictByCityId(options:Object) | none | 通过城市ID返回城市下的区县 |
calculateDistance(options:Object) | none | 计算一个点到多点的步行、驾车距离 |
方法options参数通用属性
options中可以指定success, fail, complete来接收接口调用结果,调用结果状态码见下一个表《调用结果状态码》,具体结果数据见方法详细描述页面《返回值》说明。
属性 | 类型 | 必填 | 说明 |
---|---|---|---|
success | Function | 否 | 接口调用成功的回调函数 |
fail | Function | 否 | 接口调用失败的回调函数 |
complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
调用结果状态码
status | message |
---|---|
0 | 正常 |
310 | 请求参数信息有误 |
311 | key格式错误 |
306 | 请求有护持信息请检查字符串 |
110 | 请求来源未被授权 |
1000 | 小程序内部抛出的错误 |
示例
// 引入SDK核心类
var QQMapWX = require('xxx/qqmap-wx.js');
// 实例化API核心类
var demo = new QQMapWX({
key: '开发密钥(key)' // 必填
});
// 调用接口
demo.search({
keyword: '酒店',
success: function(res) {
console.log(res.status, res.message);
},
fail: function(res) {
console.log(res.status, res.message);
},
complete: function(res) {
console.log(res.status, res.message);
}
});
资料来源: