• 八方資訊網(wǎng)歡迎您!
    八方資訊網(wǎng)>商訊>正文

    騰訊位置服務(wù)+微信小程序,一文告訴你程序員為什么不會(huì)坐過(guò)站!

    2020-11-20 05:04:46 來(lái)源: 閱讀:-
    騰訊位置服務(wù)+微信小程序,一文告訴你程序員為什么不會(huì)坐過(guò)站騰訊位置服務(wù)+微信小程序,一文告訴你程序員為什么不會(huì)坐過(guò)站

    引言

    1.1「騰訊位置服務(wù)」是什么?

    立足生態(tài),連接未來(lái)

    騰訊位置服務(wù)平臺(tái)依托龐大的數(shù)據(jù)生態(tài),以定位、地圖展示、地點(diǎn)搜索、路線規(guī)劃、導(dǎo)航、室內(nèi)圖、海外圖等位置服務(wù)能力和LBS大數(shù)據(jù)能力為基礎(chǔ),面向開(kāi)發(fā)者提供方便、易用、高效的LBS服務(wù)產(chǎn)品。當(dāng)前騰訊位置服務(wù)數(shù)據(jù)能力已覆蓋10億人的位置行為數(shù)據(jù)、日均超過(guò)600億次的定位調(diào)用、每日支持1億次位置檢索。

    1.2「騰訊位置服務(wù)」可應(yīng)用的場(chǎng)景?

    隨著功能的日益完善,騰訊位置服務(wù)可適用的場(chǎng)景也越來(lái)越多,如物流業(yè)務(wù)、智能出行、o2o業(yè)務(wù)、共享單車(chē)、運(yùn)動(dòng)健康、LBS游戲服務(wù)等行業(yè)均可見(jiàn)騰訊位置服務(wù)的身影。筆者也將通過(guò)此文展示下騰訊位置服務(wù)在智能出行行業(yè)的應(yīng)用與實(shí)踐。

    騰訊位置服務(wù)+微信小程序,一文告訴你程序員為什么不會(huì)坐過(guò)站

    需求背景

    2.1 「乘車(chē)二維碼」微信小程序

    自從2017年微信上線小程序以來(lái),小程序已經(jīng)迅速成長(zhǎng)為一個(gè)巨大的生態(tài),吸引各行各業(yè)的開(kāi)發(fā)者或服務(wù)商參與其中。小程序與線下場(chǎng)景的結(jié)合也日益緊密,其中,乘車(chē)二維碼微信小程序無(wú)疑讓人們的出行服務(wù)變的更加簡(jiǎn)單、快捷。先乘車(chē),后扣費(fèi),無(wú)論手機(jī)是否聯(lián)網(wǎng),是否有信號(hào),都可以很順暢的進(jìn)行乘車(chē)。

    2.2 完善「乘車(chē)二維碼」微信小程序

    有了最基本的「乘車(chē)二維碼」功能對(duì)用戶體驗(yàn)來(lái)說(shuō),還是遠(yuǎn)遠(yuǎn)不夠的,為此,從用戶體驗(yàn)的角度出發(fā),我們逐漸新增了一些實(shí)用的功能,比如查詢附近的公交信息、用戶路線規(guī)劃等。也正因?yàn)樾略隽诉@些實(shí)用性的功能,我們發(fā)現(xiàn)「乘車(chē)二維碼」微信小程序在數(shù)據(jù)表現(xiàn)(如日活、留存、使用時(shí)長(zhǎng))方面更加出色了,「騰訊位置服務(wù)」也成為我們「乘車(chē)二維碼」微信小程序內(nèi)不可或缺的角色。

    接下來(lái),筆者將通過(guò)公交地圖、路線規(guī)劃兩個(gè)功能點(diǎn)更加詳細(xì)的介紹「騰訊位置服務(wù)」中的微信小程序 JavaScript SDK、微信小程序插件。

    騰訊位置服務(wù)+微信小程序,一文告訴你程序員為什么不會(huì)坐過(guò)站

    公交地圖

    3.1 效果預(yù)覽

    騰訊位置服務(wù)+微信小程序,一文告訴你程序員為什么不會(huì)坐過(guò)站

    3.2 技術(shù)點(diǎn)分析

    在上面的效果預(yù)覽圖中,我們不難發(fā)現(xiàn),實(shí)現(xiàn)公交地圖功能主要包含以下技術(shù)要點(diǎn):

    • 獲取用戶當(dāng)前位置信息

    • 通過(guò)坐標(biāo)點(diǎn)獲取附近公交信息

    • 地圖展示、標(biāo)注

    3.3 技術(shù)點(diǎn)實(shí)現(xiàn)

    3.3.1 獲取用戶當(dāng)前位置信息

    我們可以通過(guò)微信小程序官方提供的api:wx.getLocation,來(lái)獲取用戶的當(dāng)前位置坐標(biāo)點(diǎn)信息:

    wx.getLocation({
    type: 'gcj02',
    success (res) {
    const latitude = res.latitude
    const longitude = res.longitude
    }
    })

    這里我們將 type 指定為 gcj02 獲取到的坐標(biāo)點(diǎn)信息可在后續(xù)接口中直接使用,相對(duì)應(yīng)的,如果將 type 指定為 wgs84,后續(xù)我們需要進(jìn)一步進(jìn)行坐標(biāo)轉(zhuǎn)換。

    還有個(gè)需要注意的是,該接口需要經(jīng)過(guò)用戶授權(quán)同意才能調(diào)用,因此我們需要在 app.json 文件中新增相關(guān)配置:

    // app.json
    "permission": {
    "scope.userLocation": {
    "desc": "你的位置信息將用于查詢公交信息"
    }
    }

    3.3.2 獲取附近公交信息

    附近公交數(shù)據(jù)哪里來(lái)?

    這里我們便用到了微信小程序原生LBS能力的最佳拍檔-- 微信小程序JavaScript SDK。

    騰訊位置服務(wù)為微信小程序提供了基礎(chǔ)的標(biāo)點(diǎn)能力、線和圓的繪制接口等地圖組件和位置展示、地圖選點(diǎn)等地圖API位置服務(wù)能力支持,使得開(kāi)發(fā)者可以自由地實(shí)現(xiàn)自己的微信小程序產(chǎn)品。在此基礎(chǔ)上,騰訊位置服務(wù)微信小程序JavaScript SDK是專為小程序開(kāi)發(fā)者提供的LBS數(shù)據(jù)服務(wù)工具包,可以在小程序中調(diào)用騰訊位置服務(wù)的POI檢索、關(guān)鍵詞輸入提示、地址解析、逆地址解析、行政區(qū)劃和距離計(jì)算等數(shù)據(jù)服務(wù),讓您的小程序更強(qiáng)大!

    接下來(lái)筆者將展示如何通過(guò)微信小程序JavaScript SDK獲取附近公交的信息。

    1. 開(kāi)通「騰訊位置服務(wù)」:在微信小程序后臺(tái)依次選擇開(kāi)發(fā)->開(kāi)發(fā)者工具->騰訊位置服務(wù),然后點(diǎn)擊開(kāi)通按鈕,按照提示為您的小程序開(kāi)通「騰訊位置服務(wù)」

    騰訊位置服務(wù)+微信小程序,一文告訴你程序員為什么不會(huì)坐過(guò)站

    2. 申請(qǐng)開(kāi)發(fā)者密鑰(key):申請(qǐng)密鑰(https://lbs.qq.com/dev/console/key/manage)

    3. 安全域名設(shè)置:在在微信小程序后臺(tái)依次選擇設(shè)置->開(kāi)發(fā)設(shè)置中設(shè)置request合法域名,添加 https://apis.map.qq.com

    4. 下載微信小程序 JavaScript SDK:微信小程序JavaScriptSDK v1.2(http://3gimg.qq.com/lightmap/xcx/jssdk/qqmap-wx-jssdk1.2.zip)

    5. 小程序使用:

    //index.js
    // 引入 JavaScript SDK 核心類
    let QQMapWX = require('../../libs/qqmap-wx-jssdk.js');
    let qqmapsdk;
    Page({
    onLoad: function {
    // 實(shí)例化API核心類
    qqmapsdk = new QQMapWX({
    key: '申請(qǐng)的key'
    });
    },
    onShow: function {
    // 調(diào)用接口
    qqmapsdk.search({
    keyword: '公交車(chē)站',
    location: '28.636767,115.855820',
    filter: 'category=公交站',
    success: function (res) {
    console.log(res);
    },
    fail: function (res) {
    console.log(res);
    },
    complete: function (res) {
    console.log(res);
    }
    });
    }
    })

    返回結(jié)果:

    騰訊位置服務(wù)+微信小程序,一文告訴你程序員為什么不會(huì)坐過(guò)站

    可以看到,我們已經(jīng)拿到了我們想要的公交數(shù)據(jù),接下來(lái)將公交數(shù)據(jù)在地圖上標(biāo)注展示出來(lái)。

    3.3.3 地圖展示、標(biāo)注

    公交信息的展示使用到了「騰訊位置服務(wù)」為小程序提供的 map 組件,我們需要將公交信息組裝成 markers 從而繪制到地圖組件上。

    關(guān)于地圖組件的具體使用可參考官方文檔:map組件的使用(https://developers.weixin.qq.com/miniprogram/dev/component/map.html)

    3.4 小結(jié)

    可以看到,我們通過(guò)微信小程序JavaScript SDK可以很輕松的獲取到附近的公交信息。當(dāng)然,微信小程序JavaScript SDK的能力也遠(yuǎn)遠(yuǎn)不僅于此,它還提供很多實(shí)用性的功能滿足多種使用場(chǎng)景:

    方法說(shuō)明
    search(options:Object)地點(diǎn)搜索,搜索周邊poi,比如:“酒店” “餐飲” “娛樂(lè)” “學(xué)校” 等等
    getSuggestion(options:Object)用于獲取輸入關(guān)鍵字的補(bǔ)完與提示,幫助用戶快速輸入
    reverseGeocoder(options:Object)提供由坐標(biāo)到坐標(biāo)所在位置的文字描述的轉(zhuǎn)換。輸入坐標(biāo)返回地理位置信息和附近poi列表
    geocoder(options:Object)提供由地址描述到所述位置坐標(biāo)的轉(zhuǎn)換,與逆地址解析的過(guò)程正好相反
    direction(options:Object)提供駕車(chē),步行,騎行,公交的路線規(guī)劃能力
    getCityList獲取全國(guó)城市列表數(shù)據(jù)
    getDistrictByCityId(options:Object)通過(guò)城市ID返回城市下的區(qū)縣
    calculateDistance(options:Object)計(jì)算一個(gè)點(diǎn)到多點(diǎn)的步行、駕車(chē)距離

    詳細(xì)使用可參考官方文檔:微信小程序JavaScript SDK 使用方法(https://lbs.qq.com/qqmap_wx_jssdk/qqmapwx.html)

    需要注意的是,每個(gè)key的每個(gè)服務(wù)接口的調(diào)用量都有日調(diào)用量:1萬(wàn)次/Key、并發(fā)數(shù):5次/key/秒的限制,如若您的微信小程序使用量超出這個(gè)限制,可通過(guò)控制臺(tái)->配額申請(qǐng)(https://lbs.qq.com/dev/console/quota/applyList)中免費(fèi)申請(qǐng)你需要的配額。

    騰訊位置服務(wù)+微信小程序,一文告訴你程序員為什么不會(huì)坐過(guò)站

    路線規(guī)劃

    如果說(shuō),「乘車(chē)二維碼」微信小程序讓人們的出行變得更加簡(jiǎn)單、快捷。

    那么,路線規(guī)劃插件則為人們?cè)趺闯鲂刑峁┝俗顑?yōu)解。

    4.1 效果預(yù)覽

    騰訊位置服務(wù)+微信小程序,一文告訴你程序員為什么不會(huì)坐過(guò)站

    4.2 路線規(guī)劃插件

    騰訊位置服務(wù)路線規(guī)劃插件 提供路線規(guī)劃等功能,根據(jù)起終點(diǎn),多種出行方式智能規(guī)劃最佳出行路線及詳情。開(kāi)發(fā)者可以將路線規(guī)劃插件嵌入到自建小程序的頁(yè)面里,實(shí)現(xiàn)路線規(guī)劃功能。

    可以看到,通過(guò)使用路線規(guī)劃插件,我們可以很方便的在我們「乘車(chē)二維碼」微信小程序內(nèi)完成路線規(guī)劃功能,接入步驟也較為簡(jiǎn)單,主要分為以下幾步:

    插件申請(qǐng)接入:

    微信小程序后臺(tái)管理平臺(tái)中,依次選擇設(shè)置->第三方服務(wù)->插件管理里點(diǎn)擊添加插件,搜索騰訊位置服務(wù)路線規(guī)劃申請(qǐng),審核通過(guò)后,小程序開(kāi)發(fā)者可在小程序內(nèi)使用該插件。

    騰訊位置服務(wù)+微信小程序,一文告訴你程序員為什么不會(huì)坐過(guò)站

    引入插件包:

    // app.json
    "plugins": {
    "routePlan": {
    "version": "1.0.5",
    "provider": "wx50b5593e81dd937a"
    }
    }

    設(shè)置定位授權(quán):

    // app.json
    "permission": {
    "scope.userLocation": {
    "desc": "你的位置信息將用于小程序定位"
    }
    }

    使用插件:

    let key = '申請(qǐng)的key'; //使用在騰訊位置服務(wù)申請(qǐng)的key
    let referer = ''; //調(diào)用插件的app的名稱
    let endPoint = JSON.stringify({ //終點(diǎn)
    'name': '八一廣場(chǎng)',
    'latitude': 28.673400,
    'longitude': 115.904500
    });
    wx.navigateTo({
    url: 'plugin://routePlan/index?key=' + key + '&referer=' + referer + '&endPoint=' + endPoint
    });

    在集成路線規(guī)劃插件后,進(jìn)一步豐富了我們「乘車(chē)二維碼」微信小程序的使用場(chǎng)景,現(xiàn)在,用戶可以在不使用地圖類App的情況下進(jìn)行最優(yōu)路線規(guī)劃,躲避擁堵,方便又快捷。

    4.3 小結(jié)

    「騰訊位置服務(wù)」提供的微信小程序插件,可以說(shuō)讓微信小程序一步擁有地圖功能,大大的減少了我們開(kāi)發(fā)的工作量、提升用戶體驗(yàn)、增加了小程序的使用場(chǎng)景。

    目前,「騰訊位置服務(wù)」已經(jīng)為我們提供了三款實(shí)用性插件:

    • 路線規(guī)劃:根據(jù)起點(diǎn)、終點(diǎn),智能規(guī)劃最佳出行路線,并支持多種出行方式。

    • 地鐵圖:支持全國(guó)所有城市地鐵線路靜態(tài)展示、信息查詢、線路檢索及規(guī)劃等功能。

    • 地圖選點(diǎn):快速、準(zhǔn)確地選擇并確認(rèn)自己的當(dāng)前位置,并將相關(guān)位置信息回傳給開(kāi)發(fā)者。

    具體可查看官方文檔:微信小程序插件(https://lbs.qq.com/miniprogram_plugin/index.html)。

    相信后續(xù)也會(huì)為我們提供更多功能的插件。

    騰訊位置服務(wù)+微信小程序,一文告訴你程序員為什么不會(huì)坐過(guò)站

    結(jié)語(yǔ)

    我們?cè)谕晟啤赋塑?chē)二維碼」微信小程序的道路上從未停止過(guò)腳步,給用戶提供完美的出行體驗(yàn)是我們的終極目標(biāo)。我們也不會(huì)停止在「騰訊位置服務(wù)」上的探索,目前所使用到的能力也僅僅是冰山一角,后續(xù)我們還會(huì)繼續(xù)嘗試「騰訊位置服務(wù)」提供的個(gè)性化地圖、地鐵圖等能力,力爭(zhēng)給用戶提供最完美的出行體驗(yàn)。

    本文為企業(yè)推廣,本網(wǎng)站不做任何建議,僅提供參考,作為信息展示!

    推薦閱讀:財(cái)經(jīng)之星

    網(wǎng)友評(píng)論
    請(qǐng)登錄后進(jìn)行評(píng)論| 0條評(píng)論

    請(qǐng)文明發(fā)言,還可以輸入140

    您的評(píng)論已經(jīng)發(fā)表成功,請(qǐng)等候?qū)徍?/p>

    小提示:您要為您發(fā)表的言論后果負(fù)責(zé),請(qǐng)各位遵守法紀(jì)注意語(yǔ)言文明

    回到首頁(yè) 回到頂部
    八方資訊網(wǎng) 關(guān)于我們| 聯(lián)系我們| 招聘信息| XML地圖| 網(wǎng)站地圖TXT
    免責(zé)聲明:八方資訊網(wǎng)所有文字、圖片、視頻、音頻等資料均來(lái)自互聯(lián)網(wǎng),不代表本站贊同其觀點(diǎn),本站亦不為其版權(quán)負(fù)責(zé)。相關(guān)作品的原創(chuàng)性、文中陳述文字以及內(nèi)容數(shù)據(jù)龐雜本站無(wú)法一一核實(shí),如果您發(fā)現(xiàn)本網(wǎng)站上有侵犯您的合法權(quán)益的內(nèi)容,請(qǐng)聯(lián)系我們,本網(wǎng)站將立即予以刪除!
    Copyright © 2012-2019 http://www.quan28.cn, All rights reserved.
    主站蜘蛛池模板: 日韩欧精品无码视频无删节| 国产麻豆精品一区二区三区v视界| 亚洲精品少妇30p| 91精品国产色综久久| 亚洲精品午夜国产VA久久成人| 欧美亚洲精品在线| 国产成人精品无码片区在线观看| 香蕉依依精品视频在线播放 | 国产精品无码DVD在线观看| 日韩精品一区二区午夜成人版| 国产精品久久久久影院嫩草| 99热精品久久只有精品| 999久久久无码国产精品| 无码欧精品亚洲日韩一区| 久久久久久久久久久免费精品| 91av国产精品| 国产亚洲精品观看91在线| 精品国产精品国产偷麻豆| 亚洲精品自产拍在线观看| 午夜亚洲av永久无码精品| 精品无码人妻一区二区三区不卡| 亚洲色精品vr一区二区三区| 精品国产黑色丝袜高跟鞋| 91精品国产福利在线观看 | 亚洲精品成人无码中文毛片不卡| 久久久精品人妻无码专区不卡 | 国内精品久久久久久久影视麻豆| 午夜精品视频在线| 无码人妻精品一区二| 精品一区二区三区色花堂| 国产精品免费久久久久影院| 日产精品久久久一区二区| 日韩AV毛片精品久久久| 精品中文高清欧美| 国产精品日韩欧美久久综合| 99久久亚洲综合精品成人| 2021国产精品视频网站| 嫩草影院久久国产精品| 久久这里只有精品首页| 中国精品videossex中国高清| 亚洲无删减国产精品一区|