• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > 移动uni-app项目怎么实现发送位置的地图交互

移动uni-app项目怎么实现发送位置的地图交互

作者:站长图库 字体:[增加 减小] 来源:互联网 时间:2022-04-29

站长图库向大家介绍了uni-app项目,uni-app发送位置,uni-app地图交互等相关知识,希望对您有所帮助

uni-app移动端怎么仿微信实现发送位置的地图交互?下面本篇文章就来给大家介绍一下实现地图交互的方法,希望对大家有所帮助!


移动uni-app项目怎么实现发送位置的地图交互


公司新项目要内置一个地图,或者说旧地图要改版,搞一个新的地图,在UI和交互上要对齐微信,功能上贴合业务需求。

其实这些都挺简单的,主要麻烦的地方在于下面的动图交互。

不过先说悔不当初的点,我是按照腾讯地图教程内置在项目中,在浏览器中预览都是正常,但是在真机调试时,发现并不能这么做,打算再改下,写一个html在项目中,再通过webview引入到项目当中。

好了,希望读者引以为戒。


移动uni-app项目怎么实现发送位置的地图交互


接下来说说这个交互的开发吧。

第一版试错

第一版的做法是利用uni-app的获取设备的宽高,地图宽度占满屏,内容与列表各占50%的高度,当触发展开列表时,调整高度占比并通过transition属性添加过渡效果。

但是这样子做的结果就是, 当高度占比自动调整时,其本身就有过度式的其调整高度的值,动画看起来就是卡顿卡顿的。

说白了就是一个字,难看啊。

ps:以下代码只是一个核心的理念,并非真实可运行的代码,可以理解为就是个伪代码;


<template>    <view>      <view :style="{height: mapHeight + 'px'}"> </view>      <view :style="{height: windowHeight - mapHeight + 'px'}"></view>    </view></teamplate> export default {  data(){    return {        windowWidth: uni.getSystemInfoSync().windowWidth,windowHeight: uni.getSystemInfoSync().windowHeight,        searchStatus: false,    }  },  computed{    mapHeight(){      return searchStatus ? this.windowHeight * 0.7 : this.windowHeight * 0.5;    }  }} <style scoped>.map-box,.result-list{  transition: height .3s;}</style>


第二版 突发奇想

其实第二版看完思路之后,就会觉得第一版真的是我失了智才会想那样去做。

第二版的思路和第一版整体一致,都是调整高度,但是不同是时,是你进我退式的整体移动。

一、列表容器高度占比70%,内容高度占总高度50%。 70%是展开后的高度。

二、展开列表时,地图向上移动10%,列表向上移动20%;

相比起上一版调整高度导致最终动画卡顿来说,这一版是调整top值。

地图高度始终是50%,展开列表后隐藏了20%。

列表高度始终是70%,展开后,向上移动20%就额外遮住了一部分的地图,此时地图中心店不变。不需要重新获取地图中心点。

<template>    <view>      <view :style="{height: windowHeight*0.5+'px', top: searchStatus ? '-10%' : 0 }"> </view>      <view :style="{height: windowHeight*0.7+'px', top: searchStatus ? '50%' : '30%'}">        <view :style="{height: searchStatus ? windowHeight*0.5+'px' :windowHeight*0.7+'px'}"></view>      </view>    </view></teamplate> export default {  data(){    return {        windowWidth: uni.getSystemInfoSync().windowWidth,windowHeight: uni.getSystemInfoSync().windowHeight,        searchStatus: false,    }  }} <style scoped>.map-box,.result-list{  transition: height .3s;}</style>


最后

公司项目代码,不好贴项目地址, 这一部分完整的代码还是挺多的, 如果实在没有实现思路的朋友可以评论区留言,或者加联系方式友好交流,无广告,不收费。


原文地址:https://juejin.cn/post/7054700579590766628


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 如何快速搭建uni-app项目?两种搭建方法分享
  • 移动uni-app项目怎么实现发送位置的地图交互
  • 聊聊怎么将小程序项目转为uni-app项目

相关文章

  • 2022-04-29PHP存入mysql乱码怎么办
  • 2022-04-29CSS如何修改placeholder的颜色
  • 2022-04-29浅析什么是装饰器?Vue中怎么使用装饰器?
  • 2022-04-29第三方下载苹果CMSV10系统的请注意后门WebShell
  • 2022-04-29PhotoShop滤镜制作简单的冰晶字效果教程
  • 2022-04-29PS打造纸张撕边效果
  • 2022-04-29Postman是如何实现接口的自动化测试
  • 2022-04-29CDR绘制木纹质感APP图标
  • 2022-04-29基于thinkphp6.x的API接口开发简单小实例
  • 2022-04-2911个SEO细节提升网站权威性

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • Photoshop绘制漂亮的粉色立体心形教程
    • thinkphp5报错显示nginx 404页面的解决办法
    • 简单常用技巧之React组件间通信(整理分享)
    • JavaScript中Number()方法的两种用法
    • Laravel中用Observer事件致Redis队列异常问题
    • 总结laravel中$request获取请求信息用法
    • illustrator制做透明气泡
    • 帝国CMS如何修改网址+标题+关键字+描叙方法
    • 20+个值得收藏的PHP常用小技巧
    • 关于 Laravel 项目 伪静态分页处理

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有