微信小程序 使用騰訊地圖SDK詳解及實(shí)現(xiàn)步驟
微信小程序 使用騰訊地圖SDK詳解及實(shí)現(xiàn)步驟
近期在做一款彩票服務(wù)類項(xiàng)目中用到了騰訊地圖提供的小程序解決方案,拿來(lái)給大家分享一下!
使用起來(lái)非常簡(jiǎn)單,就是一些功能還有待完善。
官方文檔:http://lbs.qq.com/qqmap_wx_jssdk/index.html
步驟:
- 申請(qǐng)開(kāi)發(fā)者密鑰(key):申請(qǐng)密匙
- 下載微信小程序JavaScriptSDK,微信小程序JavaScriptSDK v1.0
- 安全域名設(shè)置,需要在微信公眾平臺(tái)添加域名地址https://apis.map.qq.com
- 小程序示例
// 引入SDK核心類
var QQMapWX = require('../../libs/qqmap-wx-jssdk.js');
var qqmapsdk;
Page({
onLoad: function () {
// 實(shí)例化API核心類
qqmapsdk = new QQMapWX({
key: '申請(qǐng)的key'
});
},
onShow: function () {
// 調(diào)用接口
qqmapsdk.search({
keyword: '彩票',
success: function (res) {
console.log(res);
},
fail: function (res) {
console.log(res);
},
complete: function (res) {
console.log(res);
}
});
})
結(jié)果效果圖:

去購(gòu)彩.png
5.核心類
5.1 地點(diǎn)搜索search(options:Object)
通過(guò)關(guān)鍵詞keyword搜索周邊poi,比如“酒店”“餐飲”“娛樂(lè)”“學(xué)?!钡?br />
去購(gòu)彩界面的實(shí)現(xiàn):
5.1.1 buy.js
// 引入騰訊地圖SDK核心類
var QQMapWX = require('../../utils/qqmap-wx-jssdk.js');
var util = require("../../utils/util.js");
var qqmapsdk;
Page({
data: {
resData: []
},
onLoad: function (options) {
// 實(shí)例化騰訊地圖API核心類
qqmapsdk = new QQMapWX({
key: 'HPNBZ-B426V-CZQPP-UN4R6-QYOF2-MYFU3'//此處使用你自己申請(qǐng)的key
});
},
onShow: function () {
var that = this;
// 騰訊地圖調(diào)用接口
qqmapsdk.search({
keyword: '彩票',
page_size: 20,
success: function (res) {
console.log(res);
var resData = res.data;
for (var i = 0; i < resData.length; i++) {
resData[i]._distance = util.formatDistance(resData[i]._distance);//轉(zhuǎn)換一下距離的格式
}
that.setData({resData: resData});
},
fail: function(res) {
console.log(res);
},
complete: function(res) {
console.log(res);
}
})
}
})
// utils/util.js
/**
* 將距離格式化
* <1000m時(shí) 取整,沒(méi)有小數(shù)點(diǎn)
* >1000m時(shí) 單位取km,一位小數(shù)點(diǎn)
*/
function formatDistance(num) {
if (num < 1000) {
return num.toFixed(0) + 'm';
} else if (num > 1000) {
return (num / 1000).toFixed(1) + 'km';
}
}
5.1.2 buy.wxml 主要樣式采用weui
<view class="page">
<view wx:for="{{resData}}" wx:key="shop" class="page__bd">
<view bindtap="navTo" data-item="{{item}}">
<view class="weui-panel">
<view class="weui-panel__bd">
<view class="weui-media-box weui-media-box_text">
<view class="weui-media-box__title weui-media-box__title_in-text">{{item.title}}</view>
<view class="weui-media-box__desc">{{item.address}}</view>
<view class="weui-media-box__info">
<view class="weui-media-box__info__meta">電話:{{item.tel}}</view>
<view class="weui-media-box__info__meta weui-media-box__info__meta_extra">距離:{{item._distance}}</view>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
5.2 關(guān)鍵詞輸入提示getSuggestion(options:Object)
用于獲取輸入關(guān)鍵字的補(bǔ)完與提示,幫助用戶快速輸入。
示例:
// 調(diào)用接口
qqmapsdk.getSuggestion({
keyword: '技術(shù)',
success: function(res) {
console.log(res);
},
fail: function(res) {
console.log(res);
},
complete: function(res) {
console.log(res);
}
});
5.3 距離計(jì)算calculateDistance(options:Object)
計(jì)算一個(gè)點(diǎn)到多點(diǎn)的步行、駕車距離。
示例:
// 調(diào)用接口
qqmapsdk.calculateDistance({
mode: 'walking';//步行,駕車為'driving'
to:[{
latitude: 39.984060,
longitude: 116.307520
}, {
latitude: 39.984572,
longitude: 116.306339
}],
success: function(res) {
console.log(res);
},
fail: function(res) {
console.log(res);
},
complete: function(res) {
console.log(res);
}
});
5.4 另外還有以下功能,就不一一演示了。
- getCityList(options:Object):獲取全國(guó)城市列表數(shù)據(jù);
- getDistrictByCityId(options:Object):通過(guò)城市ID返回城市下的區(qū)縣;
- reverseGeocoder(options:Object):用于獲取輸入關(guān)鍵字的補(bǔ)完與提示,幫助用戶快速輸入
- geocoder(options:Object):提供由地址描述到所述位置坐標(biāo)的轉(zhuǎn)換,與逆地址解析reverseGeocoder()的過(guò)程正好相反。
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
微信小程序中頂部導(dǎo)航欄的實(shí)現(xiàn)代碼
這篇文章主要介紹了微信小程序中頂部導(dǎo)航欄的實(shí)現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下2017-03-03
JS前端實(shí)現(xiàn)解除頁(yè)面禁止復(fù)制功能方法詳解
這篇文章主要為大家介紹了JS前端實(shí)現(xiàn)解除頁(yè)面禁止復(fù)制功能方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08
JS輕量級(jí)函數(shù)式編程實(shí)現(xiàn)XDM二
這篇文章主要為大家介紹了JS函數(shù)式編程實(shí)現(xiàn)XDM示例詳解第2/3篇,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
微信小程序 五星評(píng)分(包括半顆星評(píng)分)實(shí)例代碼
這篇文章主要介紹了微信小程序 五星評(píng)分(包括半顆星評(píng)分)實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2016-12-12
解析Javascript設(shè)計(jì)模式Revealing?Module?揭示模式單例模式
這篇文章主要為大家解析了Javascript設(shè)計(jì)模式Revealing?Module?揭示模式及Singleton單例模式示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08

