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.

292 lines
5.0 KiB

<template>
<view class="page-section page-section-gap">
<map :enable-satellite="satellite" id="w-map" @controltap="controltap" @markertap="markertap"
:show-compass="true" :show-scale="true" :scale="scale" :controls="controls"
:style="{height:nintyPercentScreenHeight,width:'750rpx'}" :latitude="latitude" :longitude="longitude"
:markers="covers">
</map>
</view>
</template>
<script>
export default {
data() {
return {
scale: 15,
id: "w-marker-map", // 使用 marker点击事件 需要填写id
title: 'map',
longitude:116.38,
latitude: 39.87,
satellite: false, //是否开启卫星图
covers: [
{
id: 100,
longitude:116.38,
latitude: 39.87,
iconPath: "/static/location-2.png",
},
{
id: 200,
longitude:116.38,
latitude: 39.8622,
iconPath: "/static/location-1.png",
}
],
phoneHeight: 1200,
phoneWidth: 0,
controls: [],
}
},
onLoad(option) {
this.latitude = option.latitude;
this.longitude = option.longitude
},
onReady() {
uni.getSystemInfo({
success: (res) => {
this.phoneHeight = res.windowHeight;
this.phoneWidth = res.windowWidth
}
});
},
computed: { //计算
nintyPercentScreenHeight() { //百分之九十的屏幕高
if (this.phoneHeight !== '' && this.phoneWidth !== '') {
return 750 / (this.phoneWidth) * (this.phoneHeight) + 'rpx'
} else {
return '1250rpx'
}
},
},
methods: {
scaleMinus() {
if (this.scale < 3) {
return;
}
this.scale = this.scale - 1;
},
scalePlus() {
if (this.scale > 18) {
return;
}
this.scale = this.scale + 1;
},
toLocation() {
//this.scale=this.scale-1;
uni.createMapContext("w-map", this).moveToLocation({
longitude: this.longitude,
latitude: this.latitude
});
},
openMap() {
console.log(this.detail)
console.log(this.detail.latitude)
uni.openLocation({
// 传入你要去的纬度
latitude: this.detail.latitude,
// 传入你要去的经度
longitude: this.detail.longitude,
// 传入你要去的地址信息 不填则为空
address: this.detail.title,
// 缩放大小
scale: 13,
success: function() {
console.log('成功的回调success');
}
});
return;
},
controltap(e) {
}
}
}
</script>
<style scoped lang="less">
.bottom {
background: #EEEEEE;
height: 40%;
width: 100%;
position: fixed;
bottom: 0;
z-index: 99999;
}
.controls {
position: absolute;
width: 60rpx;
z-index: 999999;
right: 26rpx;
bottom: 180rpx;
.scale {
background: #FFFFFF;
text-align: center;
border-radius: 10rpx;
margin-bottom: 30rpx;
.minus,
.plus {
font-size: 48rpx;
color: #3a3a3a;
}
}
}
.vol-action-sheet-select-title {
padding: 15px;
font-weight: bold;
text-align: center;
border-bottom: 1px solid #f5f5f5;
}
.map-type {
// position: absolute;
position: fixed;
z-index: 9999;
background: #FFFFFF;
border-radius: 4px;
padding: 5px;
top: 10px;
left: 10px;
display: flex;
flex-direction: initial;
// #ifdef H5
top: 60px;
// #endif
}
.map-text {
font-size: 13px;
padding: 1px 5px;
color: #6c6c6c;
}
.actived {
color: #0698e1;
}
.river-list {
display: flex;
padding: 20rpx 32rpx;
border-bottom: 1px solid #f3f3f3;
color: #464646;
.left {
flex: 1;
}
.small {
font-size: 24rpx;
color: #acacac;
padding-top: 10rpx;
}
.icon {
// width: 100px;
}
}
.h-list {
margin-top: 12rpx;
padding: 0 12rpx;
// padding-bottom: 73px;
// display: inline-block;
// width: 100%;
// padding-bottom: ;
// width: 100%;
.h-list-item {
padding: 12rpx;
padding-top: 0;
box-sizing: border-box;
margin-bottom: 12rpx;
display: flex;
// box-shadow: 2px 4px 9px #f0f0f0;
// float: left;
// width: 50%;
// flex-direction: column;
// padding-bottom: 0;
background: #ffff;
}
.h-list-item-img {
padding-top: 10rpx;
// width: 260rpx;
}
.h-list-content {
padding: 14rpx 24rpx;
display: flex;
flex-direction: column;
// font-size: 28rpx;
flex: 1;
}
.h-list-title {
line-height: 1.1;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
.h-list-line {
flex: 1;
// margin: 10rpx;
// border-bottom: 1px solid #f7f7f7;
// padding-top: 12rpx;
}
.h-list-attr {
font-size: 24rpx;
color: #9d9d9d;
padding: 14rpx 0;
}
.h-list-tag {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.h-list-tag-item {
background: #e8f8ff;
font-size: 12px;
color: #44a1f9;
padding: 1px 3px 2px 3px;
margin-right: 3px;
border-radius: 3px;
}
.h-list-bottom {
font-size: 26rpx;
display: flex;
color: #565454;
.price {
text-align: right;
flex: 1;
}
.num {
color: #e10000;
font-size: 30rpx;
margin-right: 8rpx;
font-weight: bolder;
}
}
}
</style>