微信小程序地圖導(dǎo)航功能實(shí)現(xiàn)完整源代碼附效果圖(推薦)
正文:
一:需求及效果圖展示
從后端API獲取到起始地和目的地的經(jīng)緯度坐標(biāo)與地名。用戶點(diǎn)擊起始地便打開(kāi)地圖展示坐標(biāo)的附近街景,路線,或者打開(kāi)外部地圖。
二:源代碼
<block wx:for="{{data_2}}" wx:key='index' wx:if="{{data_2.length}}"> <view style='margin-left:10rpx;'>訂單號(hào): {{item.order_num}}</view> <view class='page_row'> <view class='centent'> <view style='margin-left:10rpx;' wx:if='{{item.server_info.linkman}}'>下單人: {{item.server_info.linkman}} <text style='color:#999;margin-left:40rpx;font-size:32rpx;' wx:if='{{item.server_info.tel}}'>聯(lián)系電話: {{item.server_info.tel}}</text> </view> <view style='color:#999;margin-top:15rpx;' wx:if='{{item.car_info.title}}'> <view style='color:#999;margin-left:10rpx;font-size:28rpx' bindtap='apen_add'data-name='{{item.server_info.address}}' data-latitude_siji='{{item.server_info.coordinate_start}}'><image style='width:32rpx;height:32rpx' src='../../image/location.png'/> 導(dǎo)航至起始地:{{item.server_info.address}} </view> </view> <view style='color:#999;margin-top:15rpx;' wx:if='{{item.car_info.title}}'> <view style='color:#999;margin-left:10rpx;font-size:28rpx' bindtap='apen_add' data-name='{{item.server_info.address_end_text}}' data-longitude_siji='{{item.server_info.coordinate_end}}'><image style='width:32rpx;height:32rpx' src='/image/location.png'/> 導(dǎo)航至目的地: {{item.server_info.address_end_text}} </view> </view> <view style='color:#999;margin-top:15rpx;' wx:if='{{item.car_info.title}}'> <view style='color:#999;margin-left:10rpx;font-size:28rpx'> 分配時(shí)間:{{item.time_tired}}</view> </view> </view> </view> <view class='xxx'></view> </block>
apen_add: function (e) { var that = this var latitude, longitude var name = e.currentTarget.dataset.name if (e.currentTarget.dataset.latitude_siji) { var latitude_siji = e.currentTarget.dataset.latitude_siji.split(',') latitude = Number(latitude_siji[0]) longitude = Number(latitude_siji[1]) } if (e.currentTarget.dataset.longitude_siji) { var longitude_siji = e.currentTarget.dataset.longitude_siji.split(',') latitude = Number(longitude_siji[0]) longitude = Number(longitude_siji[1]) } wx.getSetting({ success: (res) => { if (res.authSetting['scope.userLocation'] != undefined && res.authSetting['scope.userLocation'] != true) { wx.showModal({ title: '是否授權(quán)當(dāng)前位置', content: '需要獲取您的地理位置,請(qǐng)確認(rèn)授權(quán),否則地圖定位功能將無(wú)法使用', success: function (res) { if (res.cancel) { console.info("1授權(quán)失敗返回?cái)?shù)據(jù)"); } else if (res.confirm) { //village_LBS(that); wx.openSetting({ success: function (data) { if (data.authSetting["scope.userLocation"] == true) { wx.showToast({ title: '授權(quán)成功', icon: 'success', duration: 5000 }) wx.openLocation({ latitude: latitude, longitude: longitude, name: name, scale: 28 }) } else { wx.showToast({ title: '授權(quán)失敗', icon: 'success', duration: 5000 }) } } }) } } }) } else { wx.openLocation({ latitude: latitude, longitude: longitude, name: name, scale: 28 }) } } }) },
數(shù)據(jù)請(qǐng)求
show_data: function () { var that = this; if (wx.getStorageSync('register') != '司機(jī)') { var data = { openid: app._openid, program_id: app.jtappid, only_num: app._openid, online_code: wx.getStorageSync('online_code') } var url = '/pg.php/CarTrailer/roder_list'; util.request(url, 'get', data, '正在加載', function (res) { res.data.reverse() for (var i = 0; i < res.data.length; i++) { res.data[i].time_xd = util.js_date_time(res.data[i].time_xd) switch (res.data[i].state) { case '1': that.setData({ data_1: that.data.data_1.concat(res.data[i]), }) break; case '2': that.setData({ data_2: that.data.data_2.concat(res.data[i]), }) break; case '3': that.setData({ data_3: that.data.data_3.concat(res.data[i]), }) break; case '4': that.setData({ data_4: that.data.data_4.concat(res.data[i]), }) break; } } }) } else { var data = { openid: app._openid, program_id: app.jtappid, online_code: wx.getStorageSync('online_code') } var url = '/pg.php/CarTrailer/driver_order_list'; util.request(url, 'get', data, '正在加載', function (res) { for (var i = 0; i < res.data.length; i++) { res.data[i].time_tired = util.js_date_time(res.data[i].time_tired) } res.data.reverse() that.setData({ siji: true }) for (var i = 0; i < res.data.length; i++) { switch (res.data[i].state) { case '1': that.setData({ data_1: that.data.data_1.concat(res.data[i]), }) break; case '2': that.setData({ data_2: that.data.data_2.concat(res.data[i]), }) break; case '3': that.setData({ data_3: that.data.data_3.concat(res.data[i]), }) break; case '4': that.setData({ data_4: that.data.data_4.concat(res.data[i]), }) break; } } }) } },
以上所述是小編給大家介紹的微信小程序地圖導(dǎo)航功能實(shí)現(xiàn)詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- 微信小程序中進(jìn)行地圖導(dǎo)航功能的實(shí)現(xiàn)方法
- 詳解微信小程序膠囊按鈕返回|首頁(yè)自定義導(dǎo)航欄功能
- 微信小程序自定義導(dǎo)航隱藏和顯示功能
- 微信小程序自定義底部導(dǎo)航帶跳轉(zhuǎn)功能
- 微信小程序?qū)崿F(xiàn)的動(dòng)態(tài)設(shè)置導(dǎo)航欄標(biāo)題功能示例
- 微信小程序MUI導(dǎo)航欄透明漸變功能示例(通過(guò)改變opacity實(shí)現(xiàn))
- 微信小程序系列之自定義頂部導(dǎo)航功能
- 微信小程序?qū)Ш綑诨瑒?dòng)定位功能示例(實(shí)現(xiàn)CSS3的positionsticky效果)
- 微信小程序scroll-view實(shí)現(xiàn)滾動(dòng)到錨點(diǎn)左側(cè)導(dǎo)航欄點(diǎn)餐功能(點(diǎn)擊種類,滾動(dòng)到錨點(diǎn))
- 微信小程序?qū)崿F(xiàn)導(dǎo)航功能的操作步驟
相關(guān)文章
vue模塊導(dǎo)入報(bào)錯(cuò)問(wèn)題Module not found: Error:[CaseSensi
這篇文章主要介紹了vue模塊導(dǎo)入報(bào)錯(cuò)問(wèn)題Module not found: Error:[CaseSensitivePathsPlugin],具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06vue-element-admin?登陸及目錄權(quán)限控制的實(shí)現(xiàn)
本文主要介紹了vue-element-admin?登陸及目錄權(quán)限控制的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04Element樹(shù)形控件整合帶圖標(biāo)的下拉菜單(tree+dropdown+input)
Element UI 官網(wǎng)提供的樹(shù)形控件包含基礎(chǔ)的、可選擇的、自定義節(jié)點(diǎn)內(nèi)容的、帶節(jié)點(diǎn)過(guò)濾的以及可拖拽節(jié)點(diǎn)的樹(shù)形結(jié)構(gòu),本文實(shí)現(xiàn)了樹(shù)形控件整合帶圖標(biāo)的下拉菜單,感興趣的可以了解一下2021-07-07通過(guò)GASP讓vue實(shí)現(xiàn)動(dòng)態(tài)效果實(shí)例代碼詳解
GASP是一個(gè)JavaScript動(dòng)畫(huà)庫(kù),它支持快速開(kāi)發(fā)高性能的 Web 動(dòng)畫(huà)。GASP 使我們能夠輕松輕松快速的將動(dòng)畫(huà)串在一起,來(lái)創(chuàng)造一個(gè)高內(nèi)聚的流暢動(dòng)畫(huà)序列。這篇文章主要介紹了通過(guò)GASP讓vue實(shí)現(xiàn)動(dòng)態(tài)效果,需要的朋友可以參考下2019-11-11vue雙向數(shù)據(jù)綁定指令v-model的用法
這篇文章主要介紹了vue雙向數(shù)據(jù)綁定指令v-model的用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08vue實(shí)現(xiàn)左右點(diǎn)擊滾動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)左右點(diǎn)擊滾動(dòng)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01