小程序地图相关

2023/9/30 18:00:37

小程序中地图需要注意的事项

  • 感觉没什么想要记录的啊
  • 虽然官方文档有些说的不太清楚,但上网查查的话,写出一个类似小程序ofo界面的,应该不成问题
  • 需要注意的是map中的controls, 负责在地图上显示控件,控件不随着地图移动。即将废弃,请使用 cover-view,但是官网的demo中都是用的control,至少也更新一下demo啊
  • 点击地图上的marker显现一个cover-view的组件,我想要在这个cover-view中实现滚动的需求,之前采用的是scroll-view组件,在微信开发者工具中,显示的蛮好的,包括边角border-radius什么的,但是到真机上运行的话,直接空白了
  • 后来我发现,可以给需要滑动的cover-view添加overflow-y: scorll实现滑动,这个问题算是解决了
  • 但是又出现了另一个问题:关于加载速度的问题,我觉得与我加载图片的原因不大,因为即便是纯文本的话,也会有很明显的从左到右加载的痕迹,其实它的加载速度我还可以忍受,但是随着地图滑动消失的速度就太令人发指了,中间还有近1s的停留和卡顿,我是通过设置wx:if判断的变量为空值来使得cover-view消失的,希望知道如何解决这个问题的朋友能指点一下,网上搜了许久,还是没有解决,没事,bug终会解决的,不是么

如何计算某个经纬度附近点的距离通过Mysql

  • 第一次进入小程序的map首页,需要拿到当前位置附近一定距离内的点
  • 经纬度latitude,longitude是作为Double类型的字段存在mysql数据表中的
  • 如果是使用jpa方式查询的话,要特别注意一下,我们可能并不需要返回bean中所有的字段,如果使用native query的话,通常我们的返回类型是List<Object[]>类型
-- latitude 30.306973
-- longitude 120.066414
SELECT 
    bc.id,
    bc.latitude,
    bc.longitude,
    ROUND(6378.138 * 2 * ASIN(SQRT(POW(SIN((30.306973 * PI() / 180 - latitude * PI() / 180) / 2),
                                    2) + COS(30.306973 * PI() / 180) * COS(latitude * PI() / 180) * POW(SIN((120.066414 * PI() / 180 - longitude * PI() / 180) / 2),
                                    2))) * 1000) AS distance
FROM
    battery_cabinet bc
HAVING distance <= 3000
  • 小程序map页面并不是每滑动一次地图,就去请求一次后端数据库,这样会浪费资源也会有部分卡顿造成不良的用户体验,因此当地图滑动结束的时候,就会判断当前地图页面的中心点和之前中心点间的距离,如果大于特定值,再请求后台数据
  • 通过javascript判断两个点之间的距离
// 计算两点之间的距离 单位:米
calcDistance: function (longitude1, latitude1, longitude2, latitude2) {

    var lat1 = (Math.PI / 180) * latitude1;
    var lat2 = (Math.PI / 180) * latitude2;
    var lon1 = (Math.PI / 180) * longitude1;
    var lon2 = (Math.PI / 180) * longitude2;
    var R = 6371;
    // 两点间距离 km
    var d = Math.acos(Math.sin(lat1) * Math.sin(lat2) + Math.cos(lat1) * Math.cos(lat2) * Math.cos(lon2 - lon1)) * R;
    return d * 1000;
},

如何计算某个经纬度附近点的距离通过Mongodb

  • 不得不说这种方式方便快捷许多
  • mongo中存储了一个GeoJsonPoint的对象
private GeoJsonPoint location = new GeoJsonPoint(
        Double.valueOf(0),Double.valueOf(0));
  • 上面是spring boot项目中对mongo中collection映射中的一个doc,对应mysql中的一个字段
  • 要想使用这种方式,需要先对该字段创建一个索引,locations替换成自己的collection名,location是字段的名字
use locations
db.locations.createIndex( { location : "2dsphere" } )
  • 查询经纬度附近点的距离,一行语句就搞定了
List<Box2> list = box2Repository.findByLocationNear(new Point(Double.valueOf(longitude), Double.valueOf(latitude)),
                new Distance(distance, Metrics.KILOMETERS));
  • box2Repository是jpa方式中定义的一个repository
public interface Box2Repository extends MongoRepository<Box2, String> {

    List<Box2> findByLocationNear(Point point, Distance distance);
}

http://www.jnnr.cn/a/125923.html

相关文章

排序8: 计数排序

目录 1. 排序思想 2. 图解 3. 代码实现 3.1 逻辑 4. 特性总结 1. 排序思想 计数排序又称为鸽巢原理&#xff0c;是对哈希直接定址法的变形应用。 操作步骤&#xff1a; 1. 统计相同元素出现次数。2. 根据统计的结果将序列回收到原来的序列中。2. 图解 上面有一个数组&…

Java多线程探究【四线程协作】

文章目录一 线程协作——生产者和消费者模式1.1 线程通讯1.1.1 引子1.2 分析1.3 java提供的解决方法1.4 解决方式一&#xff1a;管程法通信【优化版】1.4.1 问题的分析1.4.2 两个优化的地方1.4.3 完整代码1.5 解决方式二&#xff1a;信号灯法线程池二 复习2.1 创建一 线程协作—…

SpringBoot SpringBoot 基础篇 4 基于 SpringBoot 的SSMP 整合案例 4.18 分页

SpringBoot 【黑马程序员SpringBoot2全套视频教程&#xff0c;springboot零基础到项目实战&#xff08;spring boot2完整版&#xff09;】 SpringBoot 基础篇 文章目录SpringBootSpringBoot 基础篇4 基于 SpringBoot 的SSMP 整合案例4.18 分页4.18.1 实现分页功能4.18.2 小结…

[附源码]java毕业设计高校创新创业服务平台

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

logistic挤压型激活函数(机器学习)

本文主要讲了什么是挤压型函数以及挤压型函数的作用&#xff0c;以及logistic函数 第一步&#xff1a;这一类函数的特点 当输入值域的绝对值较大的时候&#xff0c;其输出在两端是饱和的&#xff0c;都具有S形的函数曲线以及压缩输入值域的作用&#xff0c;所以叫挤压型激活函数…

基于分时电价策略的家庭能量系统优化(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

[附源码]java毕业设计房屋中介管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

后端开发笔试题校招

第一题 TCP/IP 通常被认为是⼀个四层协议系统&#xff0c;自顶向下分别是应用层、传输层、网络层、数据链路层。UDP协议属于TCP/IP家族。 第二题 我认为不应该使用“Nagle算法”来优化网络&#xff0c;Nagle 算法规定&#xff0c;一个 TCP 连接上&#xff0c;最多只能有一个…

Review of AI (HITSZ) 含22年真题回顾

Review of AI &#xff08;HITSZ&#xff09;含22年真题回顾1. Introduction2. Intelligent Agents3. Problem Define and Uniformed Searching3.1 Problem Define3.2 Uniformed Searching (无信息搜索)3.2.1 Search Algorithms3.2.2 Measurements4. Informed Search4.1 Basic …

【数据库】openGauss3.1.0版本做了哪些优化

前言 从第一次使用openGauss到现在&#xff0c;大约已经有4个月的时间了&#xff0c;参加了有关openGauss的活动和技术分享&#xff0c;慢慢的我对openGauss数据库的使用越来越熟悉&#xff0c;上手也很快&#xff0c;就在前段时间官方更新了最新一版的openGauss3.1.0版本&…

Arduino程序设计(一) 流水灯+呼吸灯

LED灯程序设计前言一、LED灯的程序设计1 —— 频闪灯二、LED灯的程序设计2 —— 流水灯三、LED灯的程序设计3 —— 呼吸灯总结参考文献前言 本文主要介绍三种LED灯的程序设计&#xff0c;即频闪灯、流水灯和呼吸灯。本文使用的MCU芯片为ESP8266EX&#xff0c;程序编写使用Ardu…

【代码精读】bl32的启动

快速链接: . 👉👉👉 【代码精读】–Kernel/ATF/optee等-目录👈👈👈 付费专栏-付费课程 【购买须知】:本专栏的视频介绍-----视频👈👈👈概要: 本文详细介绍了ATF BL31程序中的bl32的初始化机制。 什么是BL32?跳转BL32之前 ,需要准备什么?准备哪些参数?程…

CMake中message的使用

CMake中的message命令用于记录消息&#xff0c;其格式如下&#xff1a; message([<mode>] "message text" ...) # General messages message(<checkState> "message text" ...) # Reporting checks 1.General messages&#xff1a;在日志中记…

java校园一卡通管理系统

目 录 1 绪论 4 1.1 开发背景 4 1.2 开发意义 4 1.3 国内外研究综述 5 1.3.1 我国数字化校园的发展历程 5 1.3.2 国外数字化校园建设现状 5 2 开发环境和技术介绍 6 2.1 开发模式的选择 6 2.2 Myeclipse开发工具 8 2.3 Mysql数据库 8 2.4 Web…

SSM_Mybatis(下)

目录 八、增删改查中的细节 8.1 插入数据的时候获取自增的id-befor方法 8.1.1 案例准备 8.2 插入数据的时候获取自增的id-after方法 8.3 输入映射 8.3.1 parameterType ​8.3.2 通过Param注解&#xff08;常用&#xff01;&#xff01;&#xff01;&#xff09; 8.3.3 通过…

【附源码】Python计算机毕业设计社区疫情防控监管系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

【基于MAX78000的智能边缘应用设计大赛】

1. 大赛简介 1.1 竞赛方式&#xff1a; 基于MAX78000的智能边缘应用设计大赛是硬禾与ADI联合举办&#xff0c;ADI为本次大赛共计提供100套MAX78000FTHR开发板&#xff0c;参赛选手需先在规定平台下单购买板卡&#xff08;购买即参加&#xff09;&#xff0c;在规定的时间内实…

谷传民对战大衣哥,和合国际收购《火火的情怀》后孟文豪新曲上线

关于大衣哥和谷传民的官司&#xff0c;最近几天被传得沸沸扬扬&#xff0c;有人站出来支持大衣哥&#xff0c;当然也有人同情谷传民。其实在这场撕逼大战当中&#xff0c;还有一位非常关键的人物&#xff0c;他就是《火火的情怀》作曲孟文豪。 大衣哥和谷传民之所以产生矛盾&am…

redis数据一致性问题还稀里糊涂?看这篇就够了

前言 当我们使用Redis做缓存时&#xff0c;数据不一致问题是绕不过的问题。如果我们没有很好的处理数据一致性问题&#xff0c;就有可能影响用户体验&#xff0c;最严重的会造成业务损失。数据一致性的场景和解决方式都有哪些呢&#xff1f;让我们一探究竟。 缓存和数据库的数…

C++课堂整理--第一章内容

提前声明&#xff1a; 本文内容为华北水利水电大学研究生C课程&#xff0c;如有 侵权请告知&#xff0c;作者会予以删除 1.C特点 1.历史悠久。2.应用广泛。3.兼容c。4.面向对象。5.适合编写系统程序。6.有助于理解计算机的工作过程&#xff0c;深入理解计算机的原理和概念 …
最新文章