小程序如何定位所在城市及发起周边搜索

  

请求封装   

为小程序get/post的承诺封装

  

rq.js      /*   * url字符串}{请求地址接口   *数据对象}{请求参数   *参数{对象}请求参数   *方法}{字符串指定使用post或者是得到方法   */   导出功能请求(url, data=https://www.yisu.com/zixun/{}, param={},方法=癙OST”) {   返回新的承诺((解决,拒绝)=祝辞{   让postParam={   网址,   方法,   数据,//超时//数据类型//responseType   标题:{   “内容类型”:“application/json”//默认值   },   成功(res) {   解决(res)   },   错误:函数(e) {   拒绝(e)   }   }   postParam=对象。分配(postParam参数)   postParam。失败=postParam.error   如果postParam.url wx.request (postParam)   })   }      模块。出口={   get (url、数据参数){   返回请求(url, data=https://www.yisu.com/zixun/{}, param={},方法=玫健?   },      post () {   返回请求。应用(null,参数)   }   }      

位置服务方法

  

需要开通小程序的位置服务功能,在小程序控制台
  

  

小程序如何定位所在城市及发起周边搜索

  

简单的封装了三个位置服务的方法

  
      <李>所在地城市李   <李>地区搜索李   <李>范围搜索李   
     //请求的承诺封装   const iKit=请求(“。/rq.js”)//关键为开通位置服务所获取的查询值//下面这个关键是随便写的   让关键=' JKDBZ-XZVLW-IAQR8-OROZ1-XR3G9-UYBD5 '/*   *搜索地区……   *搜索地区的商圈,如搜索肯德基广州市   *关键{字符串}搜索内容   *地区{字符串}搜索区域   */   导出功能searchRegion (kw、地区){   我们选择={   关键字:encodeURI(千瓦)   边界:地区& # 63;的区域($ {encodeURI(地区)},0)”:“,//0为限定范围搜搜索,1为开放范围搜素偶//页大小:10日搜索结果分页最大条数   page_index: 1、//指定分页   关键   }      返回新的承诺((解决,球员)=祝辞{   iKit.get (“https://apis.map.qq.com/ws/place/v1/search”,选择),然后(res=祝辞{   解决(res.data.data)   })   })   }/*   *搜索附近的…   *以当前位置的经纬度搜索附近商圈,如附近的酒店,快餐等等   *关键{字符串}搜索内容   * params对象}{搜索参数包含三个参数lat纬度,液化天然气经度,距离范围(单位米)   */   导出功能searchCircle(千瓦,params={}) {   让{lat,液化天然气,距离}=参数   如果(!lat和,! lng)返回   如果距离(!)距离=1000//搜索范围默认1000米   我们选择={   关键字:encodeURI(千瓦)   边界:“附近({lat},{液化天然气},美元${距离})”,   orderby:“_distance ',//范围搜索支持排序,由近及远//页大小:20日搜索结果分页最大条数   page_index: 1、//指定分页   关键   }      返回新的承诺((解决,球员)=祝辞{   iKit.get (“https://apis.map.qq.com/ws/place/v1/search”,选择),然后(res=祝辞{   解决(res.data.data)   })   })   }//所在地的城市,省份等区域信息/*   *所在地的城市,省份等区域信息   *如当前地址所在省份,城市   * lat{号码}纬度   *液化天然气{}数量经度   */   液化天然气出口函数myCity (lat) {   返回新的承诺((解决,球员)=祝辞{   我们选择={   位置:“$ {lat}, ${液化天然气}’,   关键   }      选择iKit.get (“https://apis.map.qq.com/ws/geocoder/v1/?。然后(res=比;{   解决(res.data.result)   })   })   }      

调用         wx.getLocation ({   类型:“wgs84”,   成功(位置){   locationPosition=位置//所在地信息   myCity(位置。纬度,location.longitude)。然后(res=比;{   让myCityInfo=res.ad_info   让{城市,国家,省,city_code adcode}=myCityInfo   控制台。日志({标题:“国家:${}国家,省份:${省},城市:${城市}'})   })//附近搜索   searchCircle('快餐”,{   纬度:location.latitude,   液化天然气:location.longitude,   距离:500   })(res=祝辞{   console.log (res)   })//地区搜索   searchRegion(“酒店”、“广州”),然后(res=祝辞{   console.log (res)   })   }   })      

小程序如何定位所在城市及发起周边搜索