在React+ts中集成高德地图(保姆级教程)

news2024/11/8 0:37:01

前往高德地图开发平台高德开放平台 | 高德地图API

一:申请高德key 

        去高德官网去创建一个属于自己的地图应用 (得到key和秘钥) 。

        首先,我们要注册一个开发者账号,根据实际情况填写,身份写个人:

        进入我的应用:      

  ​​​​​      

创建新应用:

 

         获取key和密钥:

二:在React+ts中集成高德地图(amap-jsapi-loader

        这里使用的是amap-jsapi-loader 。@amap/amap-jsapi-loader是一个用于加载高德地图JavaScript API的工具库。它可以帮助开发者快速、简便地在网页中引入高德地图API,并提供了一些方便的配置选项和回调函数,以便开发者更好地控制地图的加载和初始化过程。该工具库适用于各种前端框架和库,如React、Vue、Angular等。

 1、安装依赖:在终端中使用npm或yarn安装amap-jsapi-loader依赖项。

       运行以下命令:

       npm i @amap/amap-jsapi-loader 

 2、 创建一个React组件:

        创建一个React组件来容纳加载高德地图的逻辑。在您的项目中创建一个新的文件(例如AMapExample.tsx),然后在文件中编写以下代码:

import React, { useEffect } from 'react';
import AMapLoader from '@amap/amap-jsapi-loader';

const AMapExample = () => {
    useEffect(() => {
        AMapLoader.load({
            "key": "你申请的key",   // 申请好的Web端开发者Key,首次调用 load 时必填
            "version": "2.0",   // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
            "plugins": []  //插件列表
        }).then((AMap) => {
            let amap = new AMap.Map('mapContainer', { // mapcontainer为容器的id
                zoom: 15, //初始化地图层级
                center: [112.5266, 27.91507] //初始化地图中心点
            });
            // 标记
            let marker = new AMap.Marker({
                position: [112.5266, 27.91507] // 基点位置
            });
            // 地图添加标记
            amap.add(marker);
        }).catch(e => {
            console.log(e);
        })


    }, []);

    return (
        <div id="mapContainer" style={{ width: '100%', height: '400px' }}></div>
    );
};

export default AMapExample;

 3、在需要使用高德地图的地方引入该组件:

        在你的其他React组件中引入AMapExample组件,并在需要显示地图的地方使用它。例如:

import React from 'react'
import AMapExample from '../../../components/Amap'
const ShowMap:React.FC = () => {
  return (
    <div>
      展示地图
      <AMapExample></AMapExample>
    </div>
  )
}

export default ShowMap

  4、运行应用程序:

        使用你喜欢的方法(如npm start或yarn start)运行您的React应用程序,并查看高德地图在页面上显示出来。

        这是一个在react+ts项目中使用高德地图基本的示例,我们可以根据需求进行更多的定制和配置。

  amap-jsapi-loader还提供了其他功能,比如按需加载插件、异步加载等,具体我们可以参考文档:JS API JS API 结合React使用

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/683991.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LwIP系列(3):以太网帧、IP、TCP、UDP、IGMP、ICMP帧格式详解

前言 TCP/IP 本质上是软件协议&#xff0c;而LwIP也是对软件协议进行解析处理&#xff0c;所以我们有必要了解下以太网帧、IP、TCP、UDP、IGMP、ICMP帧格式&#xff0c;这样在代码中&#xff0c;才能有的放矢。 以太网帧框架 以太网帧是最底层的原始数据&#xff0c;帧框架如…

Linux用户密码管理

密码复杂度设置 之前写过一篇文章&#xff0c;通过编辑/etc/pam.d下的配置文件来信hi先密码复杂度设置。 这里介绍另一种方法&#xff0c;使用authconfig名来配置。 如果没有安装该软件&#xff0c;输入如下命令安装: yum install authconfig -y 设置方法如下: authconfi…

力扣动态规划专题(六)编辑距离与回文问题 步骤及C++实现

文章目录 392. 判断子序列动态规划双指针 115.不同的子序列583. 两个字符串的删除操作方法一方法二 72. 编辑距离647. 回文子串动态规划双指针 516.最长回文子序列 392. 判断子序列 动态规划 步骤 确定dp数组以及下标的含义 dp[i][j] 表示以下标i-1为结尾的字符串s&#xff0c…

Json数据 通用提取工具 Web版

问题来源 楼主使用Golang 实现了一款通用型 JSON 数据提取工具&#xff0c;支持自动识别 JSON 数据节点并有序提取为 CSV 文件。 看到大家有这样的评论&#xff0c;顺手实现下&#xff0c;~~ 尴尬的是搞完了 &#xff0c;发现 这个论坛注册不足15天&#xff0c;不能回复评论。晕…

迅为RK3568开发板系统编程手册全新升级

iTOP-3568开发板C应用编程手册全新升级&#xff0c;《iTOP-RK3568开发板系统编程手册》旨在帮助刚入门的用户进行入门规划和学习&#xff0c;为系统编程基础指导手册。 第1部分 系统编程初探 第1章 系统编程初探 1.1 什么是系统编程 1.2 系统编程的作用 1.3 系统调用和C语言库函…

R语言使用xlsx包、安装包的经验以及切换工作目录的方法

R语言使用xlsx包 首先不同于读取txt和csv文件&#xff0c;R语言读取xlsx文件需要安装xlsx包 使用下面命令进行安装xlsx install.packages(“xlsx”) 安装过程非常顺利&#xff0c;需要附带安装其它几个包。如果安装出现错误&#xff0c;可以尝试切换网络&#xff0c;使用手机热…

2-css-1

一 CSS 初体验 CSS 定义&#xff1a;层叠样式表 (Cascading Style Sheets&#xff0c;缩写为 CSS&#xff09;&#xff0c;是一种样式表语言&#xff0c;用来描述HTML文档的呈现&#xff08;美化内容&#xff09; CSS 书写在什么位置&#xff1f; title 标签下方哪个标签里面…

2-css-5

一 定位 1 认识 作用&#xff1a;灵活的改变盒子在网页中的位置 实现&#xff1a; 定位模式&#xff1a;position边偏移&#xff1a;设置盒子的位置 left right top bottom 2 相对定位 position: relative 特点&#xff1a; 不脱标&#xff0c;占用自己原来位置显示模式…

如何将JSON对象转化为java对象,如何将java对象转化为JSON对象

如何将JSON对象转化为java对象&#xff0c;如何将java对象转化为JSON对象 一、在java中如何构建一个JSON对象 在java中我们可以通过创建JsonObject对象的方式来为其添加相应的参数属性&#xff0c;进而构造JSON对象 1、导入JsonObject的依赖 JsonObject是Gson库中的一个类&…

数据结构--数据结构的基本概念

数据结构–数据结构的基本概念 知识总览&#xff1a; 数据结构的三要素 #mermaid-svg-jflLhauniFK26Yxb {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-jflLhauniFK26Yxb .error-icon{fill:#552222;}#mermaid-svg-…

软件测试已经人员饱和了?是否选择退出这个行业?

铺天盖地的职场内卷文章充斥我们眼球&#xff0c;给大家带来山大压力&#xff0c;内心焦虑。据闻&#xff0c;2023年有1070万高校应届毕业生涌入用人市场&#xff0c;其中有多少人将卷入软件测试行业呢&#xff1f;而最近大厂毕业之风盛行&#xff0c;对外输出人才&#xff0c;…

从小白到大神之路之学习运维第46天---第三阶段----Ceph分布式存储系统(CentOS7.9版本下安装部署ceph)

第三阶段基础 时 间&#xff1a;2023年6月25日 参加人&#xff1a;全班人员 内 容&#xff1a; Ceph分布式存储系统 目录 一、Ceph概述 二、Ceph 的工作原理和工作流程 三、Ceph 组件包括 1. RADOS 2. OSD 3. MON 4. MDS 5. RGW 6. RBD 7. CephFS 四、安装部…

文心一言 VS 讯飞星火 VS chatgpt (47)-- 算法导论6.1 5题

五、一个已排好序的数组是一个最小堆吗? 文心一言&#xff1a; 一个已排好序的数组不一定是一个最小堆。最小堆是一种特殊的二叉树&#xff0c;它满足以下性质&#xff1a;对于任意节点 x&#xff0c;其父节点 y 的值都小于等于 x 的值。而一个已排好序的数组只是一个有序数…

【FFmpeg实战】压缩数据AVPacket解析

因为FFmpeg更新的比较快&#xff0c;API也会跟着有所变动&#xff0c;所以声明一下&#xff0c;本文使用的FFmpeg版本为V3.3.5。 1.AVPacket简介 AVPacket是FFmpeg中很重要的一个数据结构&#xff0c;它保存了解复用&#xff08;demuxer)之后&#xff0c;解码&#xff08;dec…

TS格式视频的使用

什么是TS文件格式 TS&#xff08;Transport Stream&#xff0c;传输流&#xff09;是一种封装的格式&#xff0c;它的全称为MPEG2-TS。MPEG2-TS是一种标准数据容器格式&#xff0c;传输与存储音视频、节目与系统信息协议数据&#xff0c;主要应用于数字广播系统&#xff0c;例…

在加密数据时,如何选择合适的算法?

我们将分解两种主要类型的加密 - 对称和非对称 - 然后深入研究 5 种最常用的加密算法列表&#xff0c;以前所未有的方式简化它们 加密经常被指责为政治实体隐藏恐怖活动&#xff0c;是始终成为头条新闻的网络安全话题之一。任何对不同类型的加密有充分了解的人都可能会觉得对这…

内网穿透工具cpolar——将内网站点发布至公网、远程连接公司内网电脑

在现代互联的时代&#xff0c;我们经常需要将局域网中的服务器或提供给外部网络进行访问。然而&#xff0c;由于内网通常使用私有IP地址&#xff0c;在没有合适的配置和设置的情况下&#xff0c;对外部网络是不可见的。这就引出了内网穿透技术&#xff0c;它允许我们在不暴露真…

从三个角度分析B端产品帮助中心的发展趋势和创新思路

随着企业级&#xff08;B端&#xff09;产品在市场上的快速增长&#xff0c;优秀的帮助中心对于提升用户体验和满意度变得尤为重要。本文将从三个维度讨论B端产品帮助中心的发展趋势和创新思路&#xff0c;以帮助企业构建更优秀的帮助体系。 个性化化的帮助体验 在B端产品帮助…

基于瑞芯微camera学习原创文章汇总pdf分享给大家

前面一段时间基于瑞芯微3568平台编写了camera系列文章&#xff0c; 一共12篇&#xff0c;目前更新完毕。 《瑞芯微文章合集》 camera系列文章编写前后一共花费2个月时间&#xff0c; 期间查阅了很多资料&#xff0c;做了很多实验&#xff0c; 根据自己的理解&#xff0c; …

实训笔记6.25

实训笔记6.25 6.25一、座右铭二、知识回顾2.1 JavaSE2.1.1 基本语法2.1.2 数组2.1.3 JVM内存2.1.4 面向对象2.1.5 Java常用类2.1.6 Java异常机制2.1.7 Java泛型2.1.8 Java集合2.1.9 JavaIO流2.1.10 Java注解2.1.11 Java反射机制2.1.12 Java多线程2.1.13 Java网络编程 三、Java多…