微信小程序如何搜索特定景点附近的美食和酒店?

更新于
2026-10-02 14:46:07
2阅读来源:SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1169个文字,预计阅读时间需要5分钟。

本文章为家庭分享了微信小程序实现指定场景周边的美食、酒店等搜索,供大家参考。具体内容如下:

以下为效果图,使用的是腾讯地图位置服务微信小程序JavaScript SDK,首先需要申请腾讯地图位置服务。

1. 申请腾讯地图位置服务

2.在微信小程序中引入腾讯地图位置服务JavaScript SDK

3.使用SDK实现地图定位和搜索功能

4.展示搜索结果

具体实现步骤如下:

1. 申请腾讯地图位置服务

- 访问腾讯地图位置服务官网(https://lbs.qq.com/) - 注册账号并申请位置服务API - 获取API Key

2. 在微信小程序中引入腾讯地图位置服务JavaScript SDK - 在小程序的`app.js`中引入SDK javascript require('https://map.qq.com/api/js/2.0/qqmap-wx-jssdk.min.js');

3. 使用SDK实现地图定位和搜索功能 - 在页面中初始化地图实例 javascript const QQMapWX=require('https://map.qq.com/api/js/2.0/qqmap-wx-jssdk.min.js'); const qqmapsdk=new QQMapWX({ key: '你的API Key' });

Page({ data: { mapContext: null, latitude: 0, longitude: 0, markers: [] }, onLoad: function() { this.mapContext=wx.createMapContext('myMap'); this.getLocation(); }, getLocation: function() { wx.getLocation({ type: 'wgs84', success: res=> { this.setData({ latitude: res.latitude, longitude: res.longitude }); this.searchNearby(); } }); }, searchNearby: function() { qqmapsdk.search({ keyword: '美食', location: `${this.data.latitude},${this.data.longitude}`, success: res=> { const markers=res.data.map(item=> ({ latitude: item.location.lat, longitude: item.location.lng, title: item.title })); this.setData({ markers }); } }); } });

4. 展示搜索结果 - 在页面中添加地图组件 {{item.title}}

- 在页面中添加样式 css .marker { position: absolute; width: 20px; height: 20px; background-color: red; border-radius: 50%; text-align: center; line-height: 20px; color: white; }

至此,微信小程序实现指定场景周边的美食、酒店等搜索功能就完成了。

本文为大家分享了微信小程序实现指定景点周边的美食、酒店等搜索,供大家参考,具体内容如下

以下为效果图,使用的是腾讯地图位置服务微信小程序JavaScript SDK,首先要申请腾讯地图位置服务的开发密钥,然后进行开发。

wxml:

<view style='width:100%;height:{{height}}px;'> <map id="map" longitude='{{poi.longitude}}' latitude='{{poi.latitude}}' scale='16' markers='{{markers}}' style='width:100%;height:{{height}}px;' show-location bindmarkertap='gotoHere'></map> <view class='nav'> <button bindtap='search' data-type='酒店' class='nav-but'>酒店</button> <button bindtap='search' data-type='美食' class='nav-but'>美食</button> <button bindtap='search' data-type='书店' class='nav-but'>书店</button> <button bindtap='search' data-type='商城' class='nav-but'>商城</button> </view> </view> <view class='info'> <navigator wx:for="{{perimeter}}" url="../routes/routes?latitude={{startlat}}&&longitude={{startlng}}&&latitude2={{item.location.lat}}&&longitude2={{item.location.lng}}" class="weui-media-box weui-media-box_appmsg" hover-class="weui-cell_active"> <view class="weui-media-box__bd weui-media-box__bd_in-appmsg"> <view class="weui-media-box__title">{{item.title}}</view> <view class="weui-media-box__desc">位置:{{item.address}} </view> </view> </navigator> </view>

js页面的主要函数有两个,一个是将具体地址转为经纬度的地址解析函数;一个是根据指定经纬度以及关键词查找周边相关搜索。

var QQMapWX = require('../../utils/qqmap-wx-jssdk.js'); var qqmapsdk; var startlat; var startlng; Page({ data: { height:"400", perimeter:[] }, onLoad: function (options) { var address = options.address; // 实例化API核心类 qqmapsdk = new QQMapWX({ key: 'IBCBZ-XXXXXXXXXXXXXXXXXXXXX' }); this.addressGeocoder(address); }, search:function(e){ var _this = this; var a = e.target.dataset.type; //console.log("a="+a); _this.nearby_search(a); }, //根据地址转为经纬度 addressGeocoder:function(address){ var _this = this; qqmapsdk.geocoder({ address:address, success:function(res){ console.log("res="+res); var res = res.result; var latitude = res.location.lat; var longitude = res.location.lng; //根据地址解析在地图上标记解析地址位置 _this.setData({ markers:[{ id:0, title:res.title, latitude:latitude, longitude:longitude, iconPath:'../../images/marker_checked.png', width:20, height:20 }], poi:{ latitude:latitude, longitude:longitude }, startlat:latitude, startlng:longitude }); }, fail:function(error){ console.error("error="+error); }, complete:function(res){ console.log("complete="+res); } }) }, //周边地点搜索 nearby_search:function(keyword){ var _this = this; qqmapsdk.search({ keyword:keyword, location:_this.data.poi, success:function(res){ var obj = JSON.stringify(res); console.log("obj="+obj); var mks = []; for(var i = 0; i <res.data.length; i++){ mks.push({ title:res.data[i].location.lat, id:res.data[i].id, latitude:res.data[i].location.lat, longitude:res.data[i].location.lng, iconPath:"../../images/marker.png", width:20, height:20, callout:{ content: res.data[i].title, color:'#000', display:'ALWAYS' } }) } _this.setData({ //markers:mks markers:mks, perimeter:res.data }) }, fail:function(res){ console.log("fail="+res); }, complete:function(res){ console.log("complete="+res); } }); }, gotoHere:function(res){ var obj = JSON.stringify(res); console.log("gotoHere="+obj); }, onShow: function () { } })

暂告一段落,下一篇写指定景点到所选择的的周边的导航。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。

本文共计1169个文字,预计阅读时间需要5分钟。

本文章为家庭分享了微信小程序实现指定场景周边的美食、酒店等搜索,供大家参考。具体内容如下:

以下为效果图,使用的是腾讯地图位置服务微信小程序JavaScript SDK,首先需要申请腾讯地图位置服务。

1. 申请腾讯地图位置服务

2.在微信小程序中引入腾讯地图位置服务JavaScript SDK

3.使用SDK实现地图定位和搜索功能

4.展示搜索结果

具体实现步骤如下:

1. 申请腾讯地图位置服务

- 访问腾讯地图位置服务官网(https://lbs.qq.com/) - 注册账号并申请位置服务API - 获取API Key

2. 在微信小程序中引入腾讯地图位置服务JavaScript SDK - 在小程序的`app.js`中引入SDK javascript require('https://map.qq.com/api/js/2.0/qqmap-wx-jssdk.min.js');

3. 使用SDK实现地图定位和搜索功能 - 在页面中初始化地图实例 javascript const QQMapWX=require('https://map.qq.com/api/js/2.0/qqmap-wx-jssdk.min.js'); const qqmapsdk=new QQMapWX({ key: '你的API Key' });

Page({ data: { mapContext: null, latitude: 0, longitude: 0, markers: [] }, onLoad: function() { this.mapContext=wx.createMapContext('myMap'); this.getLocation(); }, getLocation: function() { wx.getLocation({ type: 'wgs84', success: res=> { this.setData({ latitude: res.latitude, longitude: res.longitude }); this.searchNearby(); } }); }, searchNearby: function() { qqmapsdk.search({ keyword: '美食', location: `${this.data.latitude},${this.data.longitude}`, success: res=> { const markers=res.data.map(item=> ({ latitude: item.location.lat, longitude: item.location.lng, title: item.title })); this.setData({ markers }); } }); } });

4. 展示搜索结果 - 在页面中添加地图组件 {{item.title}}

- 在页面中添加样式 css .marker { position: absolute; width: 20px; height: 20px; background-color: red; border-radius: 50%; text-align: center; line-height: 20px; color: white; }

至此,微信小程序实现指定场景周边的美食、酒店等搜索功能就完成了。

本文为大家分享了微信小程序实现指定景点周边的美食、酒店等搜索,供大家参考,具体内容如下

以下为效果图,使用的是腾讯地图位置服务微信小程序JavaScript SDK,首先要申请腾讯地图位置服务的开发密钥,然后进行开发。

wxml:

<view style='width:100%;height:{{height}}px;'> <map id="map" longitude='{{poi.longitude}}' latitude='{{poi.latitude}}' scale='16' markers='{{markers}}' style='width:100%;height:{{height}}px;' show-location bindmarkertap='gotoHere'></map> <view class='nav'> <button bindtap='search' data-type='酒店' class='nav-but'>酒店</button> <button bindtap='search' data-type='美食' class='nav-but'>美食</button> <button bindtap='search' data-type='书店' class='nav-but'>书店</button> <button bindtap='search' data-type='商城' class='nav-but'>商城</button> </view> </view> <view class='info'> <navigator wx:for="{{perimeter}}" url="../routes/routes?latitude={{startlat}}&&longitude={{startlng}}&&latitude2={{item.location.lat}}&&longitude2={{item.location.lng}}" class="weui-media-box weui-media-box_appmsg" hover-class="weui-cell_active"> <view class="weui-media-box__bd weui-media-box__bd_in-appmsg"> <view class="weui-media-box__title">{{item.title}}</view> <view class="weui-media-box__desc">位置:{{item.address}} </view> </view> </navigator> </view>

js页面的主要函数有两个,一个是将具体地址转为经纬度的地址解析函数;一个是根据指定经纬度以及关键词查找周边相关搜索。

var QQMapWX = require('../../utils/qqmap-wx-jssdk.js'); var qqmapsdk; var startlat; var startlng; Page({ data: { height:"400", perimeter:[] }, onLoad: function (options) { var address = options.address; // 实例化API核心类 qqmapsdk = new QQMapWX({ key: 'IBCBZ-XXXXXXXXXXXXXXXXXXXXX' }); this.addressGeocoder(address); }, search:function(e){ var _this = this; var a = e.target.dataset.type; //console.log("a="+a); _this.nearby_search(a); }, //根据地址转为经纬度 addressGeocoder:function(address){ var _this = this; qqmapsdk.geocoder({ address:address, success:function(res){ console.log("res="+res); var res = res.result; var latitude = res.location.lat; var longitude = res.location.lng; //根据地址解析在地图上标记解析地址位置 _this.setData({ markers:[{ id:0, title:res.title, latitude:latitude, longitude:longitude, iconPath:'../../images/marker_checked.png', width:20, height:20 }], poi:{ latitude:latitude, longitude:longitude }, startlat:latitude, startlng:longitude }); }, fail:function(error){ console.error("error="+error); }, complete:function(res){ console.log("complete="+res); } }) }, //周边地点搜索 nearby_search:function(keyword){ var _this = this; qqmapsdk.search({ keyword:keyword, location:_this.data.poi, success:function(res){ var obj = JSON.stringify(res); console.log("obj="+obj); var mks = []; for(var i = 0; i <res.data.length; i++){ mks.push({ title:res.data[i].location.lat, id:res.data[i].id, latitude:res.data[i].location.lat, longitude:res.data[i].location.lng, iconPath:"../../images/marker.png", width:20, height:20, callout:{ content: res.data[i].title, color:'#000', display:'ALWAYS' } }) } _this.setData({ //markers:mks markers:mks, perimeter:res.data }) }, fail:function(res){ console.log("fail="+res); }, complete:function(res){ console.log("complete="+res); } }); }, gotoHere:function(res){ var obj = JSON.stringify(res); console.log("gotoHere="+obj); }, onShow: function () { } })

暂告一段落,下一篇写指定景点到所选择的的周边的导航。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。