Table of Contents
First version of trial and error
Second edition sudden whim
Finally
Home Web Front-end uni-app How to implement map interaction for sending location in mobile uni-app project

How to implement map interaction for sending location in mobile uni-app project

Feb 07, 2022 pm 06:09 PM
uni-app

How does the uni-app mobile terminal imitate WeChat to implement map interaction for sending locations? The following article will introduce to you how to implement map interaction. I hope it will be helpful to you!

How to implement map interaction for sending location in mobile uni-app project

The company's new project must have a built-in map, or the old map must be revised and a new map must be aligned with WeChat in terms of UI and interaction, and functionally fit the business need.

Actually, these are quite simple. The main trouble lies in the animation interaction below.

But first, let me regret my original point. I built it into the project according to the Tencent map tutorial, and the preview in the browser was normal. However, when debugging on the real machine, I found that it could not be done, and I planned to change it again. , write an html in the project, and then introduce it into the project through webview.

Okay, I hope readers can take this as a warning.

How to implement map interaction for sending location in mobile uni-app project

Let’s talk about the development of this interaction.

First version of trial and error

The first version is to use uni-app to obtain the width and height of the device. The map width fills the screen, and the content and list are different. Account for 50% of the height. When the expanded list is triggered, adjust the height proportion and add a transition effect through the transition attribute.

But the result of this is that when the height ratio is automatically adjusted, the height adjustment value itself is excessive, and the animation looks stuck.

To put it bluntly, it’s just one word, ugly.

ps: The following code is just a core concept, not a real executable code. It can be understood as a pseudo-code;

<template>
    <view>
      <view :style="{height: mapHeight + &#39;px&#39;}"> </view>
      <view :style="{height: windowHeight - mapHeight + &#39;px&#39;}"></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>
Copy after login

Second edition sudden whim

In fact, after reading the ideas in the second version, you will feel that I really lost my mind and wanted to do that in the first version.

The idea of ​​the second version is generally the same as that of the first version, both are adjusting the height, but the difference is in the overall movement of you advancing and I retreating.

1. The height of the list container accounts for 70%, and the height of the content accounts for 50% of the total height. 70% is the unfolded height.

2. When the list is expanded, the map moves upward by 10% and the list moves upward by 20%;

Compared with the previous version where adjusting the height caused the final animation to freeze, this The first version is to adjust the top value.

The map height is always 50%, and 20% is hidden after the list is expanded.

The height of the list is always 70%. After expansion, moving up 20% will cover an additional part of the map. At this time, the center store of the map remains unchanged. There is no need to reacquire the map center point.

<template>
    <view>
      <view :style="{height: windowHeight*0.5+&#39;px&#39;, top: searchStatus ? &#39;-10%&#39; : 0 }"> </view>
      <view :style="{height: windowHeight*0.7+&#39;px&#39;, top: searchStatus ? &#39;50%&#39; : &#39;30%&#39;}">
        <view :style="{height: searchStatus ? windowHeight*0.5+&#39;px&#39; :windowHeight*0.7+&#39;px&#39;}"></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>
Copy after login

Finally

The company’s project code is not easy to post the project address. This part of the complete code is quite a lot. If you really don’t have the idea to implement it, you can leave a message in the comment area or add your contact information. Friendly communication, no advertising, no fees.

Original address: https://juejin.cn/post/7054700579590766628

Recommended: "uniapp tutorial"

The above is the detailed content of How to implement map interaction for sending location in mobile uni-app project. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1664
14
PHP Tutorial
1268
29
C# Tutorial
1242
24
How to develop uni-app in VSCode? (Tutorial sharing) How to develop uni-app in VSCode? (Tutorial sharing) May 13, 2022 pm 08:11 PM

How to develop uni-app in VSCode? The following article will share with you a tutorial on developing uni-app in VSCode. This may be the best and most detailed tutorial. Come and take a look!

Use uniapp to develop a simple map navigation Use uniapp to develop a simple map navigation Jun 09, 2022 pm 07:46 PM

How to use uniapp to develop a simple map navigation? This article will provide you with an idea for making a simple map. I hope it will be helpful to you!

How to encapsulate uni-app vue3 interface request How to encapsulate uni-app vue3 interface request May 11, 2023 pm 07:28 PM

uni-app interface, global method encapsulation 1. Create an api file in the root directory, create api.js, baseUrl.js and http.js files in the api folder 2.baseUrl.js file code exportdefault"https://XXXX .test03.qcw800.com/api/"3.http.js file code exportfunctionhttps(opts,data){lethttpDefaultOpts={url:opts.url,data:data,method:opts.method

Let's talk about how to use uniapp to develop a snake game! Let's talk about how to use uniapp to develop a snake game! May 20, 2022 pm 07:56 PM

How to use uniapp to develop a snake game? The following article will take you step by step to implement the Snake game in uniapp. I hope it will be helpful to you!

Take you step by step to develop a uni-app calendar plug-in (and publish it) Take you step by step to develop a uni-app calendar plug-in (and publish it) Jun 30, 2022 pm 08:13 PM

This article will guide you step by step in developing a uni-app calendar plug-in, and introduce how the next calendar plug-in is developed from development to release. I hope it will be helpful to you!

Examples to explain how uniapp implements the all-select function of multi-select boxes Examples to explain how uniapp implements the all-select function of multi-select boxes Jun 22, 2022 am 11:57 AM

This article brings you relevant knowledge about uniapp, which mainly organizes the related issues of implementing the select-all function of the multi-select box. The reason why the select-all function cannot be implemented is that when the checked field of the checkbox is dynamically modified, the status on the interface can Real-time changes, but the change event of checkbox-group cannot be triggered. Let's take a look at it. I hope it will be helpful to everyone.

Let's talk about uniapp's scroll-view drop-down loading Let's talk about uniapp's scroll-view drop-down loading Jul 14, 2022 pm 09:07 PM

How does uniapp implement scroll-view drop-down loading? The following article talks about the drop-down loading of the uniapp WeChat applet scroll-view. I hope it will be helpful to everyone!

Detailed example of how uniapp implements phone recording function (with code) Detailed example of how uniapp implements phone recording function (with code) Jan 05, 2023 pm 04:41 PM

This article brings you relevant knowledge about uniapp. It mainly introduces how to use uniapp to make calls and synchronize recording. Friends who are interested should take a look at it. I hope it will be helpful to everyone.

See all articles