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

首頁 > 編程 > JavaScript > 正文

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

2019-11-19 12:14:02
字體:
來源:轉載
供稿:網友

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

聲明

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

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

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

感謝: 感謝Lrj_estranged指出問題!

效果圖

實現方法

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
亚洲欧美中文日韩在线| 91九色国产在线| 亚洲国产中文字幕久久网| 国产精品一区久久| 欧美性猛交xxxx富婆| 色悠悠久久久久| 91免费看片在线| 97视频在线观看成人| www.美女亚洲精品| 中文国产亚洲喷潮| 国产精品一区电影| 亚洲视频一区二区三区| 久久偷看各类女兵18女厕嘘嘘| 国产在线精品播放| 国产性猛交xxxx免费看久久| 欧美黑人性视频| 国产精品久久久久久亚洲影视| 中文字幕亚洲无线码在线一区| 国内精品美女av在线播放| 精品国偷自产在线| 日韩有码在线视频| 欧美视频在线观看免费| 国产亚洲欧洲高清一区| 亚洲精品自在久久| 欧美孕妇孕交黑巨大网站| 日韩av免费在线播放| 欧美孕妇性xx| 高清一区二区三区日本久| 欧美疯狂xxxx大交乱88av| 日韩精品视频免费专区在线播放| 国产精品电影在线观看| 久久在线免费观看视频| 91精品国产91久久| 中文字幕免费国产精品| 久久亚洲影音av资源网| 欧美色道久久88综合亚洲精品| 亚洲午夜女主播在线直播| 日本不卡高字幕在线2019| 日韩黄色在线免费观看| 国产精品久久久久福利| 国产精品视频免费观看www| 国产亚洲欧美日韩美女| www高清在线视频日韩欧美| 国产免费一区二区三区在线观看| 亚洲欧美在线第一页| 国产精品91在线| 欧美理论电影在线观看| 亚洲人成电影网站色…| 国产色视频一区| 日韩电影第一页| 亚洲女人天堂成人av在线| 国产欧美精品一区二区三区介绍| 日韩国产高清视频在线| 黄色成人在线播放| 精品日韩视频在线观看| 亚洲国产一区二区三区在线观看| 亚洲综合自拍一区| 在线观看视频99| 欧美色videos| 日韩欧美视频一区二区三区| 久久69精品久久久久久久电影好| 日本精品免费一区二区三区| 国产精品日韩在线| 亚洲男人天堂网| 欧美精品久久久久久久久| 国产精品入口免费视| 国产成人精品亚洲精品| 亲爱的老师9免费观看全集电视剧| 日韩av在线网| 亚洲第一区中文99精品| 国产精品第七十二页| 欧美一区二区.| 欧美黑人一区二区三区| 国产精品主播视频| 韩国精品美女www爽爽爽视频| 91亚洲一区精品| 亚洲视频一区二区三区| 欧美老女人性视频| 日韩人体视频一二区| 成人国产精品久久久| 国产日韩欧美在线看| 97国产精品视频人人做人人爱| 欧美wwwwww| 欧美亚洲成人网| 国产高清在线不卡| 日韩一区视频在线| 91地址最新发布| 精品美女永久免费视频| 国产一区二区三区直播精品电影| 久久99亚洲热视| 在线免费观看羞羞视频一区二区| 欧美日韩国产在线播放| 国产精品久久久久久久久久| 91精品国产免费久久久久久| 久久久中精品2020中文| 久久久久久国产精品三级玉女聊斋| 性色av一区二区三区红粉影视| 欧美一区视频在线| 国产欧美日韩精品在线观看| 亚洲综合国产精品| 日韩精品在线观| 狠狠躁夜夜躁久久躁别揉| 91嫩草在线视频| 日韩一二三在线视频播| 久久夜精品va视频免费观看| 欧美大荫蒂xxx| 国产精品一区二区在线| 欧美大全免费观看电视剧大泉洋| 国产精品成人观看视频国产奇米| 欧美孕妇与黑人孕交| 亚洲精品久久久久中文字幕二区| 久久久91精品国产一区不卡| 国产999视频| 久久精品国产亚洲精品| 91av在线视频观看| 欧美肥老妇视频| 国产欧美日韩免费| 成人网欧美在线视频| 国产一区二区三区在线观看网站| 国产精品一区二区av影院萌芽| 91精品国产综合久久香蕉最新版| 亚洲一区国产精品| 国产精品毛片a∨一区二区三区|国| 91精品在线影院| 亚洲高清一二三区| 欧美黄色三级网站| 九九精品视频在线观看| 日本91av在线播放| 国产v综合ⅴ日韩v欧美大片| 成人福利视频网| 久久在线观看视频| 中文字幕亚洲综合| 国产在线观看精品一区二区三区| 日韩视频亚洲视频| 日韩福利伦理影院免费| 91精品久久久久久久久久久| 国产欧美日韩丝袜精品一区| 奇米4444一区二区三区| 91精品久久久久久久久久入口| 国产精品视频永久免费播放| 日韩av影院在线观看| 国产成人久久久| 最近的2019中文字幕免费一页| 欧美日韩亚洲精品一区二区三区| 成人久久一区二区| 日韩欧美国产激情| 国产美女高潮久久白浆| 国产精品27p| 色吧影院999| 91成人国产在线观看| 国产日韩欧美综合| 日本成熟性欧美| 欧美性20hd另类| 国产精品日韩在线播放| 亚洲国产成人av在线| 亚洲天堂色网站| 亚洲精品久久久久久下一站| 亚洲第一国产精品| 国产精品亚洲综合天堂夜夜| 国产精品自产拍在线观| 欧美日韩精品国产| 在线视频国产日韩| 欧美成人午夜视频| 亚洲国产一区自拍|