微信小程序> 小程序地图开发周边信息POI展示为列表

小程序地图开发周边信息POI展示为列表

浏览量:1880 时间: 来源:沉默的小猴子

##首先附上效果图

小程序

小程序
在我前面的文章中我详述过如何使用百度地图API来开发小程序的地图,所以这里面就不说基础内容了。
直说如下:

##1.如何获取列表:

//分类存储  makertap: function(e) {    var that = this;    var id = e.markerId;    that.showSearchInfo(wxMarkerData, id);  },  onLoad: function() {    var that = this;    //初始化的时候渲染wxSearchdata    WxSearch.init(that, 400, ['家政', '药店', '公厕', '银行', '营业厅', '医院', '超市', '地铁站', '停车场', '维修', '美食', '饭店']);    WxSearch.initMindKeys(['家政公司', '保洁公司', '大药房', '药店', '免费公厕', '营业厅', '银行ATM', '三甲医院', '地下停车场', '地铁口', '汽车美容', '饭店', '美食广场', '中石化加油站', '中石油加油站']);    // 新建百度地图对象     var BMap = new bmap.BMapWX({      ak: 'jXYZ2cjB0lwQYiI8einLVGGEv7Q0zfDz'    });    var fail = function(data) {      console.log(data)    };    var success = function(data) {      wxMarkerData = data.wxMarkerData;      that.setData({        markers: wxMarkerData      });      that.setData({        latitude: wxMarkerData[0].latitude      });      that.setData({        longitude: wxMarkerData[0].longitude      })      that.setData({        dataArray: data.wxMarkerData      })    };    // 发起POI检索请求     BMap.search({      "query": "",      fail: fail,      success: success,      // 此处需要在相应路径放置图片文件       iconPath: '../../images/marker_red.png',      // 此处需要在相应路径放置图片文件       iconTapPath: '../../images/marker_red.png'    });  },

在onload中加载对地图的请求,并将数据存储起来,这里面请求到的数据是数组形式可以直观的展示出来的。
我们就用一个数组来存储。
在公共data中存储一个dataArray在onload加载请求成功后存储一个dataArray

this.setData({dataArray: data.wxMarkerData})

同样的我们在搜索函数中也要存储上,具体是在哪个函数呢?
看下面

//点击事件  wxSearchFn: function(e) {    var that = this;    total = 0;    code = e.currentTarget.dataset.code + "";    var name = e.currentTarget.dataset.text + "";    this.data.dataArray = [];    //显示选择结果    this.setData({      title: "周边信息: " + name    })    WxSearch.wxSearchAddHisKey(that);    // 新建百度地图对象     var BMap = new bmap.BMapWX({      ak: 'jXYZ2cjB0lwQYiI8einLVGGEv7Q0zfDz'    });    var fail = function(data) {      console.log(data)    };    var success = function(data) {      wxMarkerData = data.wxMarkerData;      console.log("++++++++", data)      that.setData({        markers: wxMarkerData      });      that.setData({        latitude: wxMarkerData[0].latitude      });      that.setData({        longitude: wxMarkerData[0].longitude      })      that.setData({        dataArray: data.wxMarkerData      })    };    // 发起POI检索请求     console.log("当前点击", name)    BMap.search({      query: name,      fail: fail,      success: success,      // 此处需要在相应路径放置图片文件       iconPath: '../../images/marker_red.png',      // 此处需要在相应路径放置图片文件       iconTapPath: '../../images/marker_red.png'    });  },

以及对应的前端页面展示。这里onlaod中展示的是默认加载出来的列表。 wxSearchFn是我们点击上面的分类进行搜索展示对应分类信息列表。
##2.前端页面展示
用一个wx:for来循环整个列表,然后获取对应数据内容,展示你想展示的id进行排序,其他字段根据个人需求来展示。

block wx:for="{{dataArray}}" wx:for-item="item" wx:key=""  view class='dataArray'    text{{item.id+1}}:{{item.title}}/text  /view  view class='dataArray'    text位置:{{item.address}}/text  /view/block

小程序小程序

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

最新资讯

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎