当前位置: 首页 > news >正文

Android-- 集成谷歌地图

引言

项目需求需要在谷歌地图:

地图展示,设备点聚合,设备站点,绘制点和区域等功能。

我只针对我涉及到的技术做一下总结,希望能帮到开始接触谷歌地图的伙伴们。

集成步骤

1、在项目的modle的build.gradle中添加依赖如下:

    implementation 'com.google.android.gms:play-services-maps:12.0.1'//    地图操作工具类,添加标记等implementation 'com.google.maps.android:android-maps-utils:0.5+'

2、集成完了后,需要展示地图,这里由于谷歌地图是已经被屏蔽,需要翻墙操作才能展示。

①首先我们要注册一个谷歌账号

②使用谷歌账号登录谷歌地图开发者平台(登录网站:https://cloud.google.com/maps-platform/?hl=zh-CN),点击控制台,如图

点击控制进入控制台进行如下操作,生成谷歌地图的appkey:

点击API秘钥,生成秘钥,在生成的秘钥界面上我们点击秘钥限制,设置成android ,点击确定就生成了我们所需的appkey。

将生成的API密钥复制并粘贴到您的Android应用程序的相应位置,通常在AndroidManifest.xml中的<application>标签内,如下所示:

<application><!-- 其他配置 --><meta-dataandroid:name="com.google.android.geo.API_KEY"android:value="YOUR_GOOGLE_MAPS_API_KEY"/><!-- 其他配置 -->
</application>

替换YOUR_GOOGLE_MAPS_API_KEY为您从Google Developers Console获得的API密钥。

请注意,您需要为调试和发布版本获取不同的密钥,并为每种版本使用正确的SHA-1证书指纹。

项目开发

地图展示

 向应用中添加Google Map组件有两种基本的方式:

1、一种是利用MapFragment(Fragment的子类,内部集成GoogleMap)

2、另一种是用MapView(View的子类,内部集成GoogleMap)。

一、MapFragment

1.地图展示:分为两加载地图:

一种是在activity中动态或者是静态加载我们的谷歌地图的fragment,进行显示。

静态加载

首先说一下在activity中静态加载地图的fragment。核心代码如下:

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/map"android:name="com.google.android.gms.maps.SupportMapFragment"android:layout_width="match_parent"android:layout_height="match_parent"tools:context="com.example.googlemapdemo.MapsMarkerActivity" />
class MapsMarkerActivity : AppCompatActivity() , OnMapReadyCallback {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)val mapFragment = supportFragmentManager.findFragmentById(R.id.map) as SupportMapFragment?mapFragment!!.getMapAsync(this)}override fun onMapReady(map : GoogleMap?) {}
}

这样一张谷歌地图就展示出来,显示的原因是通过mapFragment.getMapAsync()方法映射注册回调地图监听(因为谷歌地图被屏蔽了,所以需要翻墙才能看到地图,如果没有翻墙,是空白一片,并且android手机里面必须安装谷歌三件套,否则也不能显示)。

动态加载

布局:

<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/my_container"android:layout_width="match_parent"android:layout_height="match_parent"tools:context="com.example.googlemapdemo.MapsMarkerActivity" />

activity 代码:

创建一个MapFragment对象,并利用FragmentTransaction动态添加到指定的容器中:

class MapsMarkerActivity : AppCompatActivity() , OnMapReadyCallback {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)//        val mapFragment = supportFragmentManager.findFragmentById(R.id.map) as SupportMapFragment?
//        mapFragment!!.getMapAsync(this)val fragmentManager = supportFragmentManagerval mapFragment = SupportMapFragment.newInstance()fragmentManager.beginTransaction().replace(R.id.map_container, mapFragment as Fragment ).commit()mapFragment.getMapAsync(this)}override fun onMapReady(map : GoogleMap?) {}
}

二、MapView

MapView是View的子类,只需要在布局文件中引用com.google.android.gms.maps.MapView定义一个MapView,然后在Activity初始化MapView,与普通的TextView等组件用法类似。

xml:

    //layout文件中的定义<com.google.android.gms.maps.MapViewandroid:id="@+id/mymap"android:layout_width="match_parent"android:layout_height="match_parent"/>

activity :

    //Activity中的初始化myMap = (MapView)findViewById(R.id.mymap);myMap.getMapAsync(this);//getMapAsync这个与MapFragment相同

需要特别注意的是,MapView中生命周期的方法必须与Activity生命周期的方法同步,即必须在Activity中的生命周期中调用MapView的生命周期函数。

@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);```````//其他的一些初始化myMap.onCreate(savedInstanceState);}@Overrideprotected void onResume() {super.onResume();myMap.onResume();}@Overrideprotected void onPause() {super.onPause();myMap.onPause();}@Overrideprotected void onDestroy() {super.onDestroy();myMap.onDestroy();}@Overridepublic void onLowMemory() {super.onLowMemory();myMap.onLowMemory();}@Overrideprotected void onSaveInstanceState(Bundle outState) {super.onSaveInstanceState(outState);myMap.onSaveInstanceState(outState);}

onMapReady

onMapReady()是一个回调方法,用于在地图准备就绪后获取初始坐标。

当地图准备就绪时,系统会调用该方法,并传入一个GoogleMap对象作为参数,开发者可以通过该对象进行地图相关的操作。

  @Overridepublic void onMapReady(GoogleMap googleMap) {mMap = googleMap;// 获取当前位置的经纬度if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {// 请求权限ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 1);} else {// 获取到位置权限后,获取当前位置经纬度mMap.setMyLocationEnabled(true);LatLng latLng = new LatLng(mMap.getMyLocation().getLatitude(), mMap.getMyLocation().getLongitude());mMap.addMarker(new MarkerOptions().position(latLng).title("当前位置"));mMap.moveCamera(CameraUpdateFactory.newLatLng(latLng));}}

onMapReady回调中,我们首先检查定位权限,如果已经授予,我们就启用地图上的位置指示(通过调用setMyLocationEnabled(true)),然后可以获取当前的位置(通过调用getMyLocation()),并在地图上设置一个标记(通过调用addMarker())以及移动相机到当前位置(通过调用moveCamera())。如果没有定位权限,我们请求权限,并在权限被授予后执行上述操作。

三、组件的初始化

当需要初始化Map的一些状态时,可以在xml属性中设置,也可以在java代码中设置。
  

1.xml属性初始化
  
  在fragment或者MapView的xml布局中,都可以添加一些属性来初始化Map的状态。

<fragment xmlns:android="http://schemas.android.com/apk/res/android"xmlns:map="http://schemas.android.com/apk/res-auto"android:name="com.google.android.gms.maps.SupportMapFragment"android:id="@+id/map"android:layout_width="match_parent"android:layout_height="match_parent"map:cameraBearing="112.5"map:cameraTargetLat="-33.796923"map:cameraTargetLng="150.922433"map:cameraTilt="30"map:cameraZoom="13"map:mapType="normal"map:uiCompass="false"map:uiRotateGestures="true"map:uiScrollGestures="false"map:uiTiltGestures="true"map:uiZoomControls="false"map:uiZoomGestures="true"/>
GoogleMapOptions options = new GoogleMapOptions();
options.mapType(GoogleMap.MAP_TYPE_SATELLITE).compassEnabled(false).rotateGesturesEnabled(false).tiltGesturesEnabled(false);
//在实例化一个MapFragment对象时
MapFragment.newInstance(GoogleMapOptions options);
//或者MapView的构造函数中
MapView(Context, GoogleMapOptions)

相关文章:

Android-- 集成谷歌地图

引言 项目需求需要在谷歌地图&#xff1a; 地图展示&#xff0c;设备点聚合&#xff0c;设备站点&#xff0c;绘制点和区域等功能。 我只针对我涉及到的技术做一下总结&#xff0c;希望能帮到开始接触谷歌地图的伙伴们。 集成步骤 1、在项目的modle的build.gradle中添加依赖如…...

Jvm是如何处理异常的

异常抛出 当Java程序运行时遇到无法处理的情况时,会抛出一个异常(比如在一个方法中如果发生异常),这时会创建一个异常对象,并转交给JVM,该异常对象包含异常名称,异常描述以及异常发生时应用程序的状态。创建异常对象并转交给JVM的过程称为抛出异常。 异常捕捉 当JVM检测…...

recursion depth exceeded” error

有些时候不可以用jax.jit装饰器 参考资料&#xff1a;使用 JAX 后端在 Keras 3 中训练 GAN |由 Khawaja Abaid |中等 (medium.com)...

虚拟现实和增强现实技术系列—Expressive Talking Avatars

文章目录 1. 概述2. 背景介绍3. 数据集3.1 设计标准3.2 数据采集 4. 方法4.1 概述4.2 架构4.3 目标函数 5. 实验评测5.1 用户研究5.2 我们方法的结果5.3 比较与消融研究 1. 概述 支持远程协作者之间的交互和沟通。然而&#xff0c;明确的表达是出了名的难以创建&#xff0c;主…...

网站验证:确保网络安全与信任的重要步骤

网站验证&#xff1a;确保网络安全与信任的重要步骤 引言 在数字时代&#xff0c;网站验证是确保网络安全和建立用户信任的关键措施。随着网络诈骗和恶意软件的日益增多&#xff0c;验证网站的真实性和安全性变得尤为重要。本文将探讨网站验证的重要性、常见的验证方法以及如…...

C语言——字符串比较函数strcmp和strncmp

目录 strcmp 函数原型如下&#xff1a; 示例 注意事项 strcmp自实现代码&#xff1a; strncmp 函数 函数原型&#xff1a; 参数&#xff1a; 返回值&#xff1a; 特点&#xff1a; 两者之间的区别和联系 strcmp strcmp 是 C 语言标准库中的一个函数&#xff0c;用于…...

redis的集群模式

目录 1. 为什么使用redis集群 2. 主从模式 2.1修改配置文件 2.2 开启三台redis服务 2.3配置主从关系 3. 哨兵模式 3.1 监控功能 3.2 选举的机制 3.3 准备条件 4. 去中心化模式 4.1 准备三主三从 4.2 启动redis 4.3 分配槽以及主从关系 4.4 命令行的客户端 redis提供…...

基于微信小程序+SpringBoot+Vue的青少年科普教学系统平台(带1w+文档)

基于微信小程序SpringBootVue的青少年科普教学系统平台(带1w文档) 基于微信小程序SpringBootVue的青少年科普教学系统平台(带1w文档) 这个工具就是解决上述问题的最好的解决方案。它不仅可以实时完成信息处理&#xff0c;还缩短高校教师成果信息管理流程&#xff0c;使其系统化…...

智能听觉:从任务特定的机器学习到基础模型

关键词&#xff1a;计算机听觉、音频基础模型、多模态学习、声音事件检测 声音无处不在&#xff0c;弥漫于我们生活的每一个角落。鸟儿向伴侣倾诉心意的歌声&#xff0c;浓缩咖啡机中蒸汽的嘶嘶作响&#xff0c;午后阳光下昆虫振翅的嗡嗡声&#xff0c;金属屋顶上雨滴跳跃的滴答…...

14、如何⽤DDD设计微服务代码模型

在完成领域模型设计后&#xff0c;接下来我们就可以开始微服务的设计和 落地了。在微服务落地前&#xff0c;⾸先要确定微服务的代码结构&#xff0c;也就是我 下⾯要讲的微服务代码模型。 只有建⽴了标准的微服务代码模型和代码规范后&#xff0c;我们才可以将 领域对象映射到…...

ArcGIS Pro SDK (九)几何 12 多面体

ArcGIS Pro SDK &#xff08;九&#xff09;几何 12 多面体 文章目录 ArcGIS Pro SDK &#xff08;九&#xff09;几何 12 多面体1 通过拉伸多边形或折线构建多面体2 多面体属性3 构建多面体4 通过MultipatchBuilderEx构建多面体5 从另一个多面体构建多面体6 从 3D 模型文件构建…...

二次元手游《交错战线》游戏拆解

交错战线游戏拆解案 游戏亮点即核心趣味 一、关键词&#xff1a; 回合制游戏、二次元、机甲、横板、剧情、养成、异星探索。 二、游戏亮点&#xff1a; 符合目标群体审美的原画。 三、核心趣味&#xff1a; 抽卡、肝或者氪金解锁新皮肤。 核心玩法及系统规则 核心玩法&…...

【BUG】已解决:Downgrade the protobuf package to 3.20.x or lower.

Downgrade the protobuf package to 3.20.x or lower. 目录 Downgrade the protobuf package to 3.20.x or lower. 【常见模块错误】 【解决方案】 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&#xff0c;我是博主英杰&#xff0c;211科班出身…...

Java开发之Redis

1、非关系型数据库、快、高并发、功能强大 2、为什么快&#xff1f;内存单线程 非阻塞的IO多路复用有效的数据类型/结构 3、应用&#xff1a;支持缓存、支持事务、持久化、发布订阅模型、Lua脚本 4、数据类型&#xff1a; 5 种基础数据类型&#xff1a;String&#xff08;字…...

Java面试八股之 Spring Bean的生命周期

Spring Bean的生命周期 实例化&#xff08;Instantiation&#xff09;&#xff1a;Spring容器根据Bean定义信息创建Bean的实例&#xff0c;通常通过无参构造函数进行。 依赖注入&#xff08;Dependency Injection&#xff0c;DI&#xff09;&#xff1a;Spring容器按照Bean定…...

SQL中的函数

目录 前言 一、系统内置函数 1、数学函数 2、日期和时间函数 3、聚合函数 4、字符串函数 二、自定义函数 1、标量函数的创建与调用 2、内嵌表值函数的创建与调用 3、多语句表值函数的创建与调用 前言 函数是由一个或多个 T-SQL 语句组成的子程序&#xff0c;可用于封…...

VSCode | 修改编辑器注释的颜色

1 打开VsCode的设置进入settings.json 2 添加如下代码 "editor.tokenColorCustomizations": {"comments": "#17e917"},3 保存即可生效...

媒体邀约专访与群访的区别?

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 媒体邀约中的专访与群访在多个方面存在显著差异&#xff0c;以下是对这两种采访方式的详细比较&#xff1a; 一、定义与形式 专访&#xff1a; 定义&#xff1a;专访是指由媒体记者对单…...

Pycharm2024最新版community社区版下载安装配置,快速上手

第一步&#xff1a;下载 方法1&#xff1a;官网链接 https://www.jetbrains.com/pycharm/download/?sectionwindows .方法2&#xff1a;百度网盘 链接&#xff1a;https://pan.baidu.com/s/1ic2N5hUQ2m1Kmyr5nK9Jxw?pwd76dt 提取码&#xff1a;76dt --来自百度网盘超级…...

服务器选择租用还是托管?托管和租用哪个比较划算

在构建或扩展IT基础设施时&#xff0c;服务器作为关键组件&#xff0c;其选择方式——租用或托管&#xff0c;直接关系到企业的运营成本、灵活性、安全性及长期发展战略。本文将从技术、经济、安全等多个维度&#xff0c;深入解析这两种方案的优缺点&#xff0c;并探讨在何种情…...

智能制造·数字化工厂建设规划方案(65P)

获取完整PPT见下图 更多有关华为研发管理/IPD、MBSE、PLM、ERP、MES、数据治理、数字样机等方面免费解决方案、资料获取&#xff0c;请见下图...

ACM中国图灵大会专题 | 图灵奖得主Manuel Blum教授与仓颉团队交流 | 华为论坛:面向全场景应用编程语言精彩回顾

ACM 中国图灵大会&#xff08;ACM Turing Award Celebration Conference TURC 2024&#xff09;于2024年7月5日至7日在长沙举行。本届大会由ACM主办&#xff0c;in cooperation with CCF&#xff0c;互联网之父Vinton Cerf、中国计算机学会前理事长梅宏院士和廖湘科院士担任学术…...

k8s 公共服务

修改named.conf。修改第13行和第21行 下面是 named.rfc1912 修改位置&#xff0c;在最后 所以用cp -p 复制文件&#xff0c;保留权限 nslookup 回车&#xff0c;server是看哪个dns 在起作用 dns服务器要配置给所有公共服务节点和 k8s 节点 就在网络文件加个DNS2就行了&…...

【数据分析详细教学】全球气温变迁:一个多世纪的数据分析

全球气温变迁&#xff1a;一个多世纪的数据分析 1. 数据集选择与获取 数据可以从NASA的GISTEMP数据集获取&#xff0c;通常提供的格式有TXT和CSV。我们假设数据是以CSV格式提供。 2. 数据预处理 使用Python的pandas库读取数据并进行预处理。 import pandas as pd# 加载数…...

AV1技术学习:Reference Frame System

一、Reference Frames AV1 Codec 允许在其解码的帧缓冲区中最多允许保存 8 帧。对于一个编码帧&#xff0c;可以从解码的帧缓冲区中选择任意 7 个帧作为它的参考帧。编码端可以通过比特流显式地传输参考帧索引&#xff0c;范围从 1到 7。原则上&#xff0c;参考帧索引 1-4 为当…...

数学建模(7)——Logistic模型

一、马尔萨斯人口模型 import numpy as np import matplotlib.pyplot as plt# 初始人口 N0 100 # 人口增长率 r 0.02 # 时间段&#xff08;年&#xff09; t np.linspace(0, 200, 200)# 马尔萨斯人口模型 N N0 * np.exp(r * t)# 绘图 plt.plot(t, N, labelPopulation) plt.…...

“微软蓝屏”事件,给IT行业带来的宝贵经验和教训

“微软蓝屏”事件是指2024年7月19日发生的一次全球性技术故障&#xff0c;主要涉及微软视窗&#xff08;Windows&#xff09;操作系统及其相关应用和服务。 以下是对该事件的详细解析&#xff1a; 一、事件概述 发生时间&#xff1a;2024年7月19日事件影响&#xff1a;全球多个…...

QT总结——图标显示坑

最近写代码遇到一个神仙大坑&#xff0c;我都怀疑我软件是不是坏了&#xff0c;这里记录一下。 写qt工程的时候我们一般会设置图标&#xff0c;这个图标是窗体的图标同时也是任务栏的图标&#xff0c;但是我发现生成的exe没有图标&#xff0c;这个时候就想着给他加一个图标&…...

SQL 注入漏洞详解 - Union 注入

1)漏洞简介 SQL 注入简介 SQL 注入 即是指 Web 应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在 Web 应用程序中事先定义好的查询语句的结尾上添加额外的 SQL 语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,…...

Qt创建自定义组件并且promote to之后导致编译错误(CMake)

创建自定组件并且加入到全局(勾选"Global include"选项)后&#xff0c;重新编译&#xff0c;元对象编译器生成的ui_xxxx.h文件中会新加入自定义组件的头文件&#xff1a; 如图所示&#xff0c;编译器提示找不到自定义组件的头文件&#xff1a; Solution: 在CMakeL…...

告别写作瓶颈,4款AI协作工具助你迸发灵感

想要一个可以理解你思路&#xff0c;捕捉你灵感&#xff0c;并且帮你将这些内容转化为高质量文本的工具吗&#xff1f;现下大火的ai智能写作就能做到。 1 宙.语AI 传送门&#xff1a;https://ailjyk.com/pc 这个工具也是一种在线的AI工具。他可以写的文章种类非常多&#…...

java30-Shiro

概述 解决认证和授权 基本使用 package com.xpc.simple;import org.apache.shiro.SecurityUtils; import org.apache.shiro.authc.UsernamePasswordToken; import org.apache.shiro.mgt.DefaultSecurityManager; import org.apache.shiro.realm.SimpleAccountRealm; import o…...

【linux驱动开发】卸载驱动时报错:Trying to free already-free IRQ 0

【linux驱动开发】free_irq时报错:Trying to free already-free IRQ 0 卸载驱动时报错Trying to free already-free IRQ 0 第一次加载卸载驱动没有任何问题。第二次加载驱动&#xff0c;按键中断触发失效&#xff0c;卸载驱动时报错:Trying to free already-free IRQ 0 看了…...

SpringBoot如何解决yml明文密码问题

​ 博客主页: 南来_北往 &#x1f525;系列专栏&#xff1a;Spring Boot实战 前言 在现代的软件开发中&#xff0c;安全性是一个重要的考量因素。对于使用SpringBoot框架开发的应用程序而言&#xff0c;敏感信息如数据库密码、API密钥等通常存储在YAML配置文件中&#xf…...

SDL常用结构体和函数接口

1. 结构体 SDL_Window&#xff1a;SDL库中用于表示应用程序窗口的结构体。它封装了一个操作系统窗口的所有属性和功能&#xff0c;是创建图形用户界面的基础。通过创建一个SDL_Window&#xff0c;开发者可以定义窗口的初始大小、位置、是否全屏、是否具有边框等属性&#xff0…...

【数据结构】AVL树(图文解析 + 代码实现)

目录 1、AVL树的概念 2、AVL树结点的定义 3、AVL树的插入 4、AVL树的旋转 4.1 左单旋 4.2 右单旋 4.3 右左双旋 4.4 左右双旋 5、AVL树的验证 6、AVL树的性能 前面对map/multimap/set/multiset进行了简单的介绍&#xff0c;会大仙&#xff0c;这几个容器有个共同点是…...

HTML(六)——HTML表单和框架

HTML 表单 HTML 表单用于收集用户的输入信息&#xff0c;是一个包含表单元素的区域 HTML 表单表示文档中的一个区域&#xff0c;此区域包含交互控件&#xff0c;将用户收集到的信息发送到 Web 服务器。 HTML 表单通常包含各种输入字段、复选框、单选按钮、下拉列表等元素。 …...

【Qt 】JSON 数据格式详解

文章目录 1. JSON 有什么作用?2. JSON 的特点3. JSON 的两种数据格式3.1 JSON 数组3.2 JSON 对象 4. Qt 中如何使用 JSON 呢&#xff1f;4.1 QJsonObject4.2 QJsonArray4.3 QJsonValue4.4 QJsonDocument 5. 构建 JSON 字符串6. 解析 JSON 字符串 1. JSON 有什么作用? &#x…...

路由表与IP数据报转发:基础小白指南

目录 1. 路由表的基本概念 2. 路由表中的默认路由 3. IP数据报的转发流程 4. 路由聚合 5. 最长前缀匹配 总结 在网络世界中&#xff0c;IP数据报的转发是如何进行的&#xff1f; 这篇文章将带你深入了解路由表的基本概念和IP数据报的转发流程。我们会用简洁明了的语言和实…...

python—selenium爬虫

文章目录 Selenium与Requests对比一、工作原理二、功能特点三、性能表现 下载对应驱动1.首先我们需要打开edge浏览器&#xff0c;打开设置&#xff0c;找到“关于Microsoft Edge”&#xff0c;点击进入查看浏览器版本。2.查找版本之后&#xff0c;搜索edge驱动下载&#xff0c;…...

Mysql - 索引

目录 一、存储引擎 二、索引 索引结构 索引分类 索引语法 联合索引 前缀索引 索引使用规则 最左前缀法则 范围查询使索引失效 字段做运算操作索引失效 字符串字段不加单引号索引失效 字段做前模糊查询索引失效 or连接条件索引失效 数据发布情况索引失效 指定使用…...

从课本上面开始学习的51单片机究竟有什么特点,在现在的市场上还有应用吗?

引言 51单片机&#xff0c;作为一种经典的微控制器&#xff0c;被广泛应用于各种嵌入式系统中。尽管如今ARM架构的高性能低成本单片机在市场上占据主导地位&#xff0c;但51单片机凭借其独特的优势依然在某些领域保持着应用价值。本文将深入探讨51单片机的特点、架构、应用以及…...

uniapp中出现Uncaught runtime errors

项目中运行出现上面的错误信息&#xff0c;使用uniapp发现&#xff0c;其实我只是跨域了&#xff0c;控制台报错&#xff0c;但是不想屏幕上显示&#xff1b; 解决办法是在vue.config.js增加如下配置即可 devServer: {client: {overlay: false,errors:true},}, 错误信息也不想…...

数字信号处理基础知识(二)

在介绍完“离散时间序列”基本概念和性质后&#xff0c;实际上就已经踏入了“数字信号处理”这门学科的学习征程&#xff0c;这篇文章里主要去说明“线性时不变系统”的定义概念和探讨“周期采样”的注意细节&#xff0c;相信更加理解这些概念定义和底层逻辑&#xff0c;对于大…...

人生低谷来撸C#--015 C# 属性(Property)

1、概念 在C#中&#xff0c;属性&#xff08;Property&#xff09;是一种特殊的成员&#xff0c;它提供了一种灵活的机制来访问和修改对象的状态&#xff08;即类的字段&#xff09;。属性结合了字段和方法的特性&#xff0c;使得数据的访问和修改更加安全和便捷。下面我用一个…...

面试题003:面向对象的特征——封装性

Java规定了4种权限修饰&#xff0c;分别是:private、缺省、protected、public。我们可以使用4种权限修饰来修饰类及类的内部成员。当这些成员被调用时&#xff0c;体现可见性的大小。 封装性在程序中的体现&#xff1a; 场景1:私有化(private)类的属性&#xff0c;提供公共(pub…...

森林防火,森林防火智能储水罐_鼎跃安全

森林防火是保护森林的重要措施&#xff0c;每年发生的森林火灾都严重威胁着自然安全&#xff0c;对社会经济和生态造成严重的破坏。为了切实有效地预防并扑灭森林火灾&#xff0c;森林防火智能储水罐已成为现代森林防火体系中的重要装备。 储水罐内置传感器和控制系统&#xff…...

虚幻引擎,体积雾、体积光、镜头泛光

1、体积雾 这里介绍的是用于地面的体积雾效果&#xff0c;效果如图1-1&#xff1a; 图1-1 首先&#xff0c;需要场景中存在指数级高度雾并开启体积雾&#xff08;如图1-2&#xff09;。然后创建材质&#xff0c;材质域选择“体积”&#xff0c;混合模式选择“Additive”。材质节…...

Python 机器学习求解 PDE 学习项目——PINN 求解二维 Poisson 方程

本文使用 TensorFlow 1.15 环境搭建深度神经网络&#xff08;PINN&#xff09;求解二维 Poisson 方程: 模型问题 − Δ u f in Ω , u g on Γ : ∂ Ω . \begin{align} -\Delta u & f \quad & \text{in } \Omega,\\ u & g \quad & \text{on } \Gamma:\p…...

微信小程序删除滑块 SwiperCell 自动收起 Van weapp van-swipe-cell 滑块自动收起 点击页面也自动收起滑块

在当前页面整个 view 中 给页面绑定 点击事件bindtap"onSwipeCellPage"给 van-swipe-cell 组件设置 id &#xff08;for循环可以添加 id"swip-cell-{{item.id}}" &#xff09;van-swipe-cell 组件 添加属性 当用户打开滑块时触发 bind:open"swiperCel…...