You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
217 lines
4.8 KiB
217 lines
4.8 KiB
// pages/map/index.js
|
|
let systemInfo = wx.getSystemInfoSync(),rect = wx.getMenuButtonBoundingClientRect();
|
|
let height = (rect.top - systemInfo.statusBarHeight) * 2 + rect.height + systemInfo.statusBarHeight;
|
|
import commonApi from "../../utils/https/common"
|
|
import util from "../../utils/util"
|
|
Page({
|
|
|
|
/**
|
|
* 页面的初始数据
|
|
*/
|
|
data: {
|
|
seachHeight:height,
|
|
topHeight:rect.top,
|
|
areas:['姑苏','吴江','苏州'],
|
|
areaIndex:0,
|
|
latitude:"",
|
|
longitude:"",
|
|
type:0,
|
|
keywords:"",
|
|
list:[],
|
|
showInfo:false,
|
|
info:null
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面加载
|
|
*/
|
|
onLoad: function (options) {
|
|
if(options.type){
|
|
this.setData({
|
|
type:options.type
|
|
})
|
|
}
|
|
let that = this;
|
|
// 获取当前定位
|
|
commonApi._post("act/get_suzhou_areas").then(res=>{
|
|
wx.getLocation({
|
|
type: 'gcj02',
|
|
success: function (r) {
|
|
console.log(r)
|
|
res.data.unshift({
|
|
area_id:"",
|
|
area_title:"全部",
|
|
lon:r.longitude,
|
|
lat:r.latitude
|
|
})
|
|
that.setData({
|
|
areas:res.data,
|
|
areaIndex:0
|
|
})
|
|
}
|
|
})
|
|
|
|
commonApi._post("pbservice/Other/getClientConfig",{
|
|
unique_key:"wechatxcx"
|
|
}).then(res=>{
|
|
let data = JSON.parse(res.data)
|
|
this.setData({
|
|
indexHot:data.indexHot,
|
|
isTest:data.isTest
|
|
})
|
|
if(data.isTest==true){
|
|
this.setData({
|
|
type:1
|
|
})
|
|
}
|
|
that.getList()
|
|
})
|
|
|
|
})
|
|
},
|
|
gotoDetail:function(){
|
|
if(this.data.info.info.type=='relic'){
|
|
wx.navigateTo({
|
|
url: '/pages/pbService/wbdw/info/index?id='+this.data.info.info.id,
|
|
})
|
|
}
|
|
else if(this.data.info.info.type=='restaurant' || this.data.info.info.type=='tenscenic'){
|
|
wx.navigateTo({
|
|
url: '/pages/info/foodInfo/index?id='+this.data.info.info.id,
|
|
})
|
|
}
|
|
else {
|
|
util.gotoDetail(this.data.info.info)
|
|
}
|
|
|
|
},
|
|
onTapMarker:function(e){
|
|
console.log(e)
|
|
this.setData({
|
|
info:this.data.list[e.detail.markerId],
|
|
showInfo:true
|
|
})
|
|
},
|
|
hideInfo:function(){
|
|
this.setData({
|
|
info:null,
|
|
showInfo:false
|
|
})
|
|
},
|
|
changeType:function(e){
|
|
this.setData({
|
|
type:e.currentTarget.dataset.type
|
|
})
|
|
this.getList()
|
|
},
|
|
changeArea:function(e){
|
|
this.setData({
|
|
areaIndex:e.detail.value
|
|
})
|
|
this.getList()
|
|
},
|
|
changeRegion:function(e){
|
|
console.log(e)
|
|
this.getList()
|
|
},
|
|
getList:function(){
|
|
this.mapCtx = wx.createMapContext("map");
|
|
let types = ['','scenic','venue','post','restaurant','relic','tenscenic','cinema'],that = this;
|
|
this.mapCtx.getRegion({
|
|
type: 'gcj02',
|
|
success: function(res) {
|
|
console.log(res)
|
|
commonApi._post("act/map_travel",{
|
|
type:types[that.data.type],
|
|
title:that.data.keywords,
|
|
m_lon:res.southwest.longitude-0.05,
|
|
l_lon:res.northeast.longitude+0.05,
|
|
m_lat:res.southwest.latitude-0.05,
|
|
l_lat:res.northeast.latitude+0.05
|
|
}).then(res=>{
|
|
let list = [];
|
|
res.data.map((item,index)=>{
|
|
let mapItem = {};
|
|
mapItem.latitude = Number(item.lat);
|
|
mapItem.longitude = Number(item.lon);
|
|
mapItem.id = index;
|
|
mapItem.info = item;
|
|
mapItem.iconPath = "https://fastadmin.oss-cn-shenzhen.aliyuncs.com/xcxImages/map/"+item.type+".png";
|
|
mapItem.width = 20;
|
|
mapItem.height=23;
|
|
if(mapItem.latitude<40){
|
|
list.push(mapItem)
|
|
}
|
|
})
|
|
that.setData({
|
|
list:list
|
|
})
|
|
})
|
|
// that.mapCtx.getRegion({
|
|
// success:function(r){
|
|
// let location = r.longitude+","+r.latitude;
|
|
|
|
// that.getParkList(res.northeast.longitude,res.northeast.latitude,res.southwest.longitude,res.southwest.latitude,location)
|
|
// }
|
|
// })
|
|
}
|
|
})
|
|
|
|
|
|
|
|
},
|
|
search:function(e){
|
|
console.log(e)
|
|
this.setData(e.detail)
|
|
this.getList()
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面初次渲染完成
|
|
*/
|
|
onReady: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面显示
|
|
*/
|
|
onShow: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面隐藏
|
|
*/
|
|
onHide: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面卸载
|
|
*/
|
|
onUnload: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 页面相关事件处理函数--监听用户下拉动作
|
|
*/
|
|
onPullDownRefresh: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 页面上拉触底事件的处理函数
|
|
*/
|
|
onReachBottom: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 用户点击右上角分享
|
|
*/
|
|
onShareAppMessage: function () {
|
|
|
|
}
|
|
})
|