微信html5頁面調(diào)用第三方位置導(dǎo)航的示例
微信h5頁面拉起第三方導(dǎo)航應(yīng)用
需要準(zhǔn)備的:
- 通過微信認(rèn)證的公眾號
- 有備案過的域名
背景:微信公眾號點(diǎn)擊菜單欄跳到h5頁面,需要用到導(dǎo)航功能
需求:當(dāng)用戶點(diǎn)擊導(dǎo)航按鈕時,跳轉(zhuǎn)到第三方app進(jìn)行導(dǎo)航
步驟:
在需要調(diào)用JS接口的頁面引入如下JS文件,(支持https):http://res.wx.qq.com/cgi-bin/index?lang=zh_CN
jssdk的簽名權(quán)限,這個權(quán)限是由后臺提供的,前端只需要把簽名權(quán)限注入到wx.config中就可以了,相信用過微信其他api的這一步都可以省了
```
wx.config({
debug: true, // 開啟調(diào)試模式,調(diào)用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數(shù),可以在pc端打開,參數(shù)信息會通過log打出,僅在pc端時才會打印。
appId: '', // 必填,公眾號的唯一標(biāo)識
timestamp: , // 必填,生成簽名的時間戳
nonceStr: '', // 必填,生成簽名的隨機(jī)串
signature: '',// 必填,簽名
jsApiList: ['openLocation'] // 必填,需要使用的JS接口列表 這里填寫需要用到的微信api openlocation為使用微信內(nèi)置地圖查看位置接口
});
```
這里需要注意的地方debug在上線后要改為false,jsApiList里要填你要使用的接口,不然沒有作用
給導(dǎo)航按鈕注冊點(diǎn)擊事件,調(diào)用wx.openLocation方法
$('.btn2').click(function () {
wx.openLocation({
latitude: 22.545538, // 緯度,浮點(diǎn)數(shù),范圍為90 ~ -90
longitude: 114.054565, // 經(jīng)度,浮點(diǎn)數(shù),范圍為180 ~ -180。
name: '這里填寫位置名', // 位置名
address: '位置名的詳情說明', // 地址詳情說明
scale: 10, // 地圖縮放級別,整形值,范圍從1~28。默認(rèn)為最大
});
})
點(diǎn)擊后會跳轉(zhuǎn)到微信的位置頁面,點(diǎn)擊右下角的導(dǎo)航就能拉起第三方的導(dǎo)航拉!
5.微信用的是gcj02的坐標(biāo),有些地圖用的是wgs84的坐標(biāo),如果出現(xiàn)誤差比較大,可以考慮是不是傳入的經(jīng)緯度問題,具體的可以問度娘
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
HTML5頁面直接調(diào)用百度地圖API獲取當(dāng)前位置直接導(dǎo)航目的地的實(shí)現(xiàn)代碼
這篇文章主要介紹了HTML5頁面直接調(diào)用百度地圖API獲取當(dāng)前位置直接導(dǎo)航目的地的實(shí)現(xiàn)代碼,需要的朋友可以參考下2018-03-02
本篇文章給大家分享基于html和CSS3制作酷炫的導(dǎo)航欄,效果非常美觀,需要的朋友可以從參考下2015-09-23使用jquery實(shí)現(xiàn)HTML5響應(yīng)式導(dǎo)航菜單教程
這篇文章主要介紹了使用jquery實(shí)現(xiàn)HTML5響應(yīng)式導(dǎo)航菜單的方法,需要的朋友可以參考下2014-04-02css3與html5實(shí)現(xiàn)響應(yīng)式導(dǎo)航菜單(導(dǎo)航欄)效果分享
使用純CSS來實(shí)現(xiàn)的一個響應(yīng)式導(dǎo)航菜單,我們使用的是HTML5+CSS3技術(shù),當(dāng)瀏覽器窗口變小或者使用手機(jī)瀏覽器訪問的時候,原本橫條菜單會收縮成一個下拉菜單,當(dāng)鼠標(biāo)滑向菜單2014-02-12純html5+css3下拉導(dǎo)航菜單實(shí)現(xiàn)代碼
下拉導(dǎo)航在瀏覽網(wǎng)頁時經(jīng)常會遇見到,記得以前都是使用js實(shí)現(xiàn)的吧,不過本文接下來要介紹的是采用css3+html5實(shí)現(xiàn),感興趣的你可不要錯過了哈,希望看完對你學(xué)習(xí)css3有所幫助2013-03-18


