1.自动定位以及返回10个相近位置
核心代码如下:
- //引入类库
- var QQMapWX = require('../../utils/qqmap-wx-jssdk.min.js')
- qqmapsdk = new QQMapWX({
- key: 'BJFBZ-ZFTHW-Y2HRO-RL2UZ-M6EC3-GMF4U'
- });
- qqmapsdk.reverseGeocoder({
- get_poi: 1,
- success: function (res) {
- that.setData({
- currentAddress: res.result.formatted_addresses.recommend,
- city: res.result.address_component.city,
- result: res.result.pois
- });
- }
- });
其中get_poi设置为1,可以返回得到当前定位周边的10个相近位置
2.关键字搜索
核心代码:
- var keyword = e.detail.value;
- qqmapsdk.getSuggestion({
- keyword: keyword,
- region: that.data.city,
- success: function (res) {
- that.setData({
- result: res.data
- });
- }
- });
其中region参数,传入之前reverseGeocoder获取得到的城市信息,以过滤非本城市以外的其他搜索结果。
回传数据到首页
这里用到了第三方库WxNotification
核心方法如下:
- //引入类库
- var WxNotificationCenter = require("../../utils/WxNotificationCenter.js");
- //index.js 初始化注册通知
- WxNotificationCenter.addNotification("getAddressNotification",that.getAddress,that)
- //index.js 监听通知,通过成员方法getAddress回调得到期望的参数值address
- WxNotificationCenter.addNotification("addressSelectedNotification",that.getAddress,that)
- //search.js 发送通知,带上address参数值
- WxNotificationCenter.postNotificationName("addressSelectedNotification", address);
- 实现getAddress方法
- getAddress: function (address) {
- that.setData({
- address: address
- });
- }
新闻热点
疑难解答