亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 課堂 > 小程序 > 正文

微信小程序使用map組件實現檢索(定位位置)周邊的POI功能示例

2020-03-21 16:02:44
字體:
來源:轉載
供稿:網友

本文實例講述了微信小程序使用map組件實現檢索(定位位置)周邊的POI功能。分享給大家供大家參考,具體如下:

聲明

bug: 頁面頂部分類【汽車服務、汽車銷售等】列表和頁腳的詳細地址在真機測試是會出現不顯示問題?

造成原因:在小程序map組件的同一區域,map組件的視圖層比普通的文本視圖層要高,所以在真機會遮擋!

解決辦法:將該文本視圖采用cover-view,放在map中。

感謝: 感謝Lrj_estranged指出問題!

效果圖

微信小程序,map組件,檢索,POI

實現方法

1. 地圖采用微信小程序提供的map組件;

2. 周邊的數據坐標點通過高德地圖提供的API接口,獲取定位位置的周邊或者指定位置周邊的數據。

WXML

<view class="map_container"> <map class="map" longitude="{{longitude}}" latitude="{{latitude}}" include-points="{{points}}" markers='{{markers}}'>   <cover-view class="map-tab-bar">    <cover-viewclass="map-tab-li {{item.id == status ? 'active' : ''}}" bindtap="getType" data-type="{{item.id}}" wx:key="aroundListId" wx:for="{{aroundList}}">{{item.name}}</cover-view>   </cover-view>   <cover-viewclass="map-tab-bar map-foot {{isShow ? '' : 'map-hide'}}">    <cover-viewclass="map-name">{{name}}</cover-view>    <cover-viewclass="map-address">{{address}}</cover-view>   </cover-view> </map></view>

WXSS

.map_container{ width: 100%; height: 100%; position: fixed; top: 0; bottom: 0; left: 0; right: 0;}.map{ width: 100%; height: 100%;}.map-tab-bar{ position: absolute; top: 0; left: 0; width: 100%; z-index: 1000; font-size: 0; background-color: #fff;}.map-hide{display: none;}.map-foot{ top: auto; bottom: 0; padding: 0 10px;}.map-name{ height: 80rpx; line-height: 80rpx; font-size: 35rpx; overflow: hidden;}.map-address{ height: 60rpx; line-height: 60rpx; font-size: 25rpx; overflow: hidden;}.map-tab-li{ display: inline-block; width: 25%; overflow: hidden; height: 70rpx; line-height: 70rpx; text-align: center; font-size: 30rpx; color: #333;}.map-tab-li.active{color: #fff;background-color: lightgreen;border-radius: 5px;}

JS

var app = getApp();var amap = app.data.amap;var key = app.data.key;Page({ data: {  aroundList: [   {    name: '汽車服務',    id: '010000'   },   {    name: '汽車銷售',    id: '020000'   },   {    name: '汽車維修',    id: '030000'   },   {    name: '摩托車',    id: '040000'   },   {    name: '餐飲',    id: '050000'   },   {    name: '購物',    id: '060000'   },   {    name: '生活',    id: '070000'   },   {    name: '體育休閑',    id: '080000'   },   {    name: '醫療保健',    id: '090000'   },   {    name: '住宿',    id: '100000'   },   {    name: '風景名勝',    id: '110000'   },   {    name: '商務住宅',    id: '120000'   }  ],  status:null,  latitude: null,  longitude: null,  isShow: false,  markers: [],  points: [],  location: '',  name:'',  address: '' }, onLoad: function () {  // 頁面加載獲取當前定位位置為地圖的中心坐標  var _this = this;  wx.getLocation({   success(data) {    if (data) {     _this.setData({      latitude: data.latitude,      longitude: data.longitude,      markers:[{       id:0,       latitude: data.latitude,       longitude: data.longitude,       iconPath: '../../src/images/ding.png',       width: 32,       height: 32      }]     });    }   }  }); }, getType(e) {//獲取選擇的附近關鍵詞,同時更新狀態  this.setData({ status: e.currentTarget.dataset.type})  this.getAround(e.currentTarget.dataset.keywords,e.currentTarget.dataset.type); }, getAround(keywords,types) {//通過關鍵詞獲取附近的點,只取前十個,同時保證十個點在地圖中顯示  var _this = this;  var myAmap = new amap.AMapWX({ key: key });  myAmap.getPoiAround({   iconPath: '../../src/images/blue.png',   iconPathSelected: '../../src/images/ding.png',   querykeywords: keywords,   querytypes: types,   location: _this.data.location,   success(data) {    if (data.markers) {     var markers = [], points = [];     for (var value of data.markers) {      if (value.id > 9) break;      if(value.id == 0){       _this.setData({        name: value.name,        address: value.address,        isShow: true       })      }      markers.push({       id: value.id,       latitude: value.latitude,       longitude: value.longitude,       title: value.name,       iconPath: value.iconPath,       width: 32,       height: 32,       anchor: { x: .5, y: 1 },       label: {        content: value.name,        color: 'green',        fontSize: 12,        borderRadius: 5,        bgColor: '#fff',        padding: 3,        x: 0,        y: -50,        textAlign: 'center'       }      });      points.push({       latitude: value.latitude,       longitude: value.longitude      })     }     _this.setData({      markers: markers,      points: points     })    }   },   fail: function (info) {    wx.showToast({title: info})   }  }) }});

總結

1. 由于是移動端,所以人為限制只顯示了9條周邊數據,防止重疊部分太多。

2. 添加指定位置的周邊的方法—-添加一個input,將給的關鍵字進行搜索,然后返回坐標,改變地圖中心坐標。

3. 改變中心坐標還有采用微信小程序自己的API(wx.chooseLocation),改變地圖中心坐標。參考:微信小程序實現map路線規劃

4. 高德地圖提供API和微信小程序提供API的優劣:①、目前高德提供的API返回數據很快,最少目前比微信小程序自己的快很多;②、缺點也很明顯就是由于是外部提供的,所以需要進行對應配置,麻煩;③、微信小程序提供的API優勢就是屬于本身,不用額外配置,如果以后優化了,更好。

實例:

用高德地圖提供的 getInputtips 接口,搜索關鍵字和城市,返回的坐標,然后改變地圖中心坐標。

// 頁面加載以輸入地址為地圖的中心坐標// 假如輸入的是:成都 歐尚庭院myAmap.getInputtips({ keywords: '歐尚庭院', city: '成都', success(res) {  var tip = res.tips[0];  var lo = tip.location.split(',')[0];  var la = tip.location.split(',')[1];  _this.setData({   latitude: la,   longitude: lo,   location: tip.location,   markers: [{    id: 0,    latitude: la,    longitude: lo,    iconPath: '../../src/images/ding.png',    width: 32,    height: 32   }]  }) }})

希望本文所述對大家微信小程序開發有所幫助。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品电影网在线观看| 亚洲视频欧美视频| 亚洲一区二区日本| 国产精品成人va在线观看| 欧美性猛交xxxx富婆弯腰| 奇米成人av国产一区二区三区| 国产成人一区二区三区小说| **欧美日韩vr在线| 久久精品国产96久久久香蕉| 国产欧美日韩丝袜精品一区| yellow中文字幕久久| 狠狠色狠狠色综合日日小说| 国产福利精品av综合导导航| 高清在线视频日韩欧美| 久久国产精品免费视频| 色噜噜久久综合伊人一本| 在线日韩欧美视频| 国产精品91久久久久久| 国产精品免费观看在线| 亚洲免费福利视频| 中文字幕最新精品| 国产日本欧美一区| 精品中文字幕久久久久久| 国产精品一区久久| 91日韩在线播放| 国产精品第七十二页| 亚洲天堂视频在线观看| 欧美精品激情在线| 亚洲第一精品久久忘忧草社区| 亚洲伊人第一页| 国产精品夜间视频香蕉| 97色伦亚洲国产| 日本一欧美一欧美一亚洲视频| 欧美高清在线观看| 亚洲人成在线一二| 亚洲精品成人久久电影| 亚洲国产天堂久久综合网| 精品国产一区二区三区久久久| 亚洲女人天堂网| 亚洲精品国产精品乱码不99按摩| 国产精品久久久久久搜索| 97av在线播放| 97在线视频免费| 欧美一级视频免费在线观看| 国产精品看片资源| 国产精品伦子伦免费视频| 国产女精品视频网站免费| 97色在线视频| 欧美激情亚洲国产| 欧美日韩国产影院| 777国产偷窥盗摄精品视频| 久久久av一区| 热99精品里视频精品| 成人做爽爽免费视频| 亚洲精品国偷自产在线99热| 亚洲欧美日韩精品久久| 97在线视频免费观看| 欧美精品videossex性护士| 久久精品久久久久| 亚洲综合日韩在线| 久久在线免费视频| 久久久久中文字幕| 亚洲性生活视频在线观看| 国产一区二区三区视频| 97人人爽人人喊人人模波多| 欧美激情精品久久久久久黑人| 久久久久久有精品国产| 精品亚洲国产视频| 国产欧美 在线欧美| 青草青草久热精品视频在线网站| 欧美成人一区二区三区电影| 黑人与娇小精品av专区| 欧美精品久久久久| 精品色蜜蜜精品视频在线观看| 久久99视频免费| 欧美高清视频免费观看| 日本不卡免费高清视频| 亚洲а∨天堂久久精品喷水| 亚洲色图综合久久| 黑人精品xxx一区| 中文字幕成人精品久久不卡| 国产婷婷色综合av蜜臀av| 久久久国产一区二区三区| 欧美理论电影在线播放| 另类色图亚洲色图| 欧美孕妇与黑人孕交| 精品国产乱码久久久久酒店| 亚洲一区制服诱惑| 国产在线视频不卡| 日韩免费av在线| 国内成人精品视频| 久久精品国产精品| 伊人成人开心激情综合网| 国产午夜精品视频免费不卡69堂| 中文字幕日韩av电影| 久久免费高清视频| 丝袜亚洲另类欧美重口| 亚洲高清av在线| 国产精品亚洲综合天堂夜夜| 97视频在线观看免费高清完整版在线观看| 亚洲成人在线视频播放| 亚洲精品在线观看www| 日本欧美精品在线| 欧美日韩福利电影| 国产精品日韩欧美大师| 欧美大全免费观看电视剧大泉洋| 精品久久久久久电影| 国产精品专区h在线观看| 中文字幕视频一区二区在线有码| 欧美日韩在线视频一区| 欧美视频在线观看免费网址| 最近2019年日本中文免费字幕| 欧美日韩在线视频一区二区| 亚洲一区二区三区香蕉| 亚洲成成品网站| 久久久久久久久久久成人| 国产成人久久久| 尤物九九久久国产精品的特点| 欧美日韩免费区域视频在线观看| 国产精品爱啪在线线免费观看| 在线观看日韩视频| 日韩av一区在线观看| 久久综合五月天| 日韩精品久久久久久久玫瑰园| 色综合亚洲精品激情狠狠| 2019最新中文字幕| 亚洲另类欧美自拍| 久久噜噜噜精品国产亚洲综合| 欧美成年人视频网站欧美| 中文字幕亚洲欧美日韩2019| 久久久精品中文字幕| 亚洲欧美在线x视频| 欧美黑人巨大精品一区二区| 91tv亚洲精品香蕉国产一区7ujn| 欧美大胆在线视频| 亚洲国产中文字幕在线观看| 国产suv精品一区二区| 久久五月天综合| 高清日韩电视剧大全免费播放在线观看| 亚洲第一网站男人都懂| 日韩精品极品在线观看| 国产精品一区二区三| 亚洲一区亚洲二区亚洲三区| 亚洲有声小说3d| 中文字幕一区二区精品| 亚洲国产日韩欧美在线99| 亚洲成avwww人| 成人福利在线观看| 国产午夜精品美女视频明星a级| 国产精品久久久| 国产精品久久久久久久久免费| 午夜精品久久久久久久99热| 亚洲激情在线观看视频免费| 日韩小视频在线| 欧美乱大交xxxxx| 九九热最新视频//这里只有精品| 欧美巨乳在线观看| 亚洲第一综合天堂另类专| 91免费看片在线| 97视频免费看| 狠狠爱在线视频一区| 视频在线一区二区| 中文字幕在线看视频国产欧美在线看完整| 亚洲人av在线影院|