微信小程序定位功能+页面滚动+列表展示

本文介绍了微信小程序中如何实现地图定位功能,并结合页面滚动和列表展示进行详细讲解。提供了完整的wxml、js和css代码示例,帮助读者理解和实现相关功能。若在开发过程中遇到问题,可以联系作者获取有偿技术支持。
摘要由CSDN通过智能技术生成
效果图

在这里插入图片描述

地图定位代码:

wxml:

    <!-- 地图 -->
<view class="shop-map">
  <map class="{
  {isShowMap == true ? 'map-area' : 'map-area-hidden'}}"
  longitude = "{
  {location.longitude}}" latitude="{
  {location.latitude}}">
  </map>
    <view class="map-show" bind:tap="showMap">
       <view class="show-text">{
  {isShowMap?"收起地图":"展开地图"}}</view>
       <image class="show-img" src="/images/tab-list-shop/push.png" />
    </view>
</view>

js:

    /**
     * 页面的初始数据
     */
    data: {
        isShowMap: true,
        location:{}
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function () {
        // 获取定位
        this.getLocation()
    },

     // 地图定位
    getLocation(){
        // 获取定位
        wx.getLocation({
            success:(res)=>{
                this.setData({
                    location: res
                })
                console.log(this.data.location)
            }
        }) 
    },

    // 是否显示地图
    showMap() {
        let isShowMap = this.data.isShowMap
        this.setData({
            isShowMap: !isShowMap,
        })
        if(this.data.isShowMap){
            let topHeight = 61
            this.getWindowHeight(topHeight)
        }else{
            let topHeight = -330
            this.getWindowHeight(topHeight)
        }  
    },

css:

/* 地图 */
.shop-map {
    width: 100%;
}

.map-area {
    width: 100%;
    height: 390rpx;
    transition: height 0.2s ;
}

.map-area-hidden{
    height: 0;
    width: 100%;
    transition: height 0.2s ;
}

.map-show {
    display: flex;
    width: 100%;
    padding: 20rpx 0;
    justify-content: center;
}

.show-text {
    font-size: 20rpx;
    color: #9d9d9d;
}

.show-img {
    width: 24rpx;
    height: 24rpx;
}

页面完整效果图:
在这里插入图片描述

页面完整代码:
wxml:

<navBar id="navBar" titleText="门店" fontSize="36"></navBar>
<view class="tab-list-shop">
    <!-- 子导航 -->
    <view class="shop-nav">
        <view class="nav-nearby-store {
  {navSel==0 ? 'seleted-nav-nearby-store' : ''}}" bind:tap="nearbySel" >
            附近门店
            <view class="seleted-blue-line" wx:if="{
  {navSel==0}}"></view>
        </view>
        <view class="nav-my-collect {
  {navSel==1 ? 'seleted-nav-my-collect' : ''}}" bind:tap="collectSel">
            常用/收藏
            <view class="seleted-blue-line" wx:if="{
  {navSel==1}}"></view>
        </view>
    </view>
    <!-- 搜索 -->
    <view class="shop-search">
        <view class="sel-address">
            武汉
            <image class="sel-address-img" src="/images/tab-list-shop/down.png" />
        </view>
        <view class="search-area">
            <image class="search-img" src="/images/tab-list-shop/search.png" />
            <input class="search-input" placeholder&
  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值