微信小程序中騰訊位置API使用
本例主要是針對(duì)于微信小程序的定位
準(zhǔn)備工作
- 申請(qǐng)開發(fā)者密鑰(key):<a >申請(qǐng)密鑰</a>
- 開通webserviceAPI服務(wù):控制臺(tái) -> <a >key管理</a> -> 設(shè)置(使用該功能的key)-> 勾選webserviceAPI -> 保存
- 下載微信小程序JavaScriptSDK,<a >微信小程序JavaScriptSDK v1.2</a>,==下完了把兩個(gè)js文件放進(jìn)項(xiàng)目中==
- 安全域名設(shè)置齐苛,在“設(shè)置” -> “開發(fā)設(shè)置”中設(shè)置request合法域名誉券,添加https://apis.map.qq.com,或者==開發(fā)時(shí)選擇不校驗(yàn)合法域名==
小程序示例
通過關(guān)鍵字查詢附近poi
var QQMapWX = require('../../../utils/qqmap-wx-jssdk.js'); //引入SDK核心類
var qqmapsdk;
Page({
onLoad: function () {
// 實(shí)例化API核心類
qqmapsdk = new QQMapWX({
key: '申請(qǐng)的key'
});
},
onShow: function () {
// 調(diào)用接口
qqmapsdk.search({
keyword: '這里可以填寫關(guān)鍵字',
success: function (res) {
console.log(res);
},
fail: function (res) {
console.log(res);
},
complete: function (res) {
console.log(res);
}
});
})
逆地址解析(坐標(biāo)位置描述)
var QQMapWX = require('../../../utils/qqmap-wx-jssdk.js'); //引入SDK核心類
var qqmapsdk;
Page({
onLoad: function () {
// 實(shí)例化API核心類
qqmapsdk = new QQMapWX({
key: '申請(qǐng)的key'
});
},
onShow: function (options){
this.getLocal();
},
//調(diào)用微信api獲取經(jīng)緯度然后傳入地圖API
getLocation: function(){
let vm = this;
wx.getLocation({
type: 'wgs84',
altitude: true,
success: function(res) {
console.log(res);
var latitude = res.latitude;
var longitude = res.longitude;
vm.getLocal(latitude, longitude)
},
fail: function(res){
console.log('獲取經(jīng)緯度失敗fail')
}
})
},
//獲取當(dāng)前地理位置
getLocal: function (latitude, longitude){
let vm = this;
qqmapsdk.reverseGeocoder({
location: {
latitude: latitude,
longitude: longitude
},
success: function (res) {
console.log(res);
},
fail: function (res) {
console.log('獲取API定位信息失敗');
}
})
}
})
關(guān)于位置API參數(shù)問題
<a >官方文檔</a>上有詳細(xì)介紹篮条,這里我講一下官方文檔中不太能弄清楚的地方
- 如果是使用小程序原生開發(fā)弟头,API中類似于==poi_options=page_index=1==都是寫為poi_options:'page_index=1'格式
- filter過濾器的參數(shù)需要把類型轉(zhuǎn)化為url編碼再傳入,例如:
//地址搜索,排除掉公交站的信息
search: function(e){
var vm = this
console.log(e.detail.value);
qqmapsdk.search({
keyword: e.detail.value, //搜索關(guān)鍵詞
region: location,
filter: 'category<>%E5%85%AC%E4%BA%A4%E8%BD%A6%E7%AB%99',
success: function (res) {
console.log(res)
}
})
},
關(guān)于如何轉(zhuǎn)化url編碼
你把想要的東西輸入這個(gè)<a >轉(zhuǎn)換編碼網(wǎng)站</a>,轉(zhuǎn)換了復(fù)制粘貼到代碼中就ok了涉茧!