当前位置:首页 > React

react如何引入高德地图

2026-01-25 15:32:50React

引入高德地图的基本步骤

在React项目中引入高德地图,需要通过高德地图的JavaScript API。以下是具体实现方式:

安装依赖 确保项目已初始化,若未安装@amap/amap-jsapi-loader,可通过npm或yarn安装:

npm install @amap/amap-jsapi-loader --save
# 或
yarn add @amap/amap-jsapi-loader

获取高德地图Key 登录高德开放平台(https://lbs.amap.com/),申请Web端应用的Key。需填写应用名称和安全密钥(如域名白名单)。

react如何引入高德地图

组件中加载地图

初始化地图 在React组件中,使用AMapLoader加载高德地图API,并在useEffect中初始化地图:

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

const MapComponent = () => {
  useEffect(() => {
    AMapLoader.load({
      key: '你的高德Key', // 替换为实际Key
      version: '2.0',   // 指定API版本
      plugins: ['AMap.ToolBar', 'AMap.Scale'] // 按需加载插件
    }).then((AMap) => {
      const map = new AMap.Map('map-container', {
        viewMode: '2D',
        zoom: 11,
        center: [116.397428, 39.90923] // 默认北京中心点
      });
      // 添加控件(如工具条)
      map.addControl(new AMap.ToolBar());
    }).catch(e => console.error(e));
  }, []);

  return <div id="map-container" style={{ width: '100%', height: '400px' }} />;
};

export default MapComponent;

自定义地图样式与标记

添加标记点 通过AMap.Marker类在地图上添加标记:

react如何引入高德地图

// 在AMapLoader.then回调中添加
const marker = new AMap.Marker({
  position: [116.39, 39.9],
  title: '标记点标题'
});
map.add(marker);

// 信息窗口
const infoWindow = new AMap.InfoWindow({
  content: '<div>这里是详细信息</div>',
  offset: new AMap.Pixel(0, -30)
});
marker.on('click', () => infoWindow.open(map, marker.getPosition()));

注意事项

Key安全限制 高德Key需配置域名白名单,本地开发时可使用localhost127.0.0.1。生产环境需绑定正式域名。

React严格模式 若项目启用严格模式,可能触发多次渲染,建议将地图实例存储在useRef中避免重复初始化:

const mapRef = useRef(null);
useEffect(() => {
  if (!mapRef.current) {
    AMapLoader.load({...}).then(AMap => {
      mapRef.current = new AMap.Map(...);
    });
  }
}, []);

TypeScript支持 若使用TypeScript,可安装类型声明包:

npm install @types/amap-js-api --save-dev

通过以上步骤,即可在React项目中完整集成高德地图的基础功能,并扩展标记、事件交互等能力。

标签: 地图react
分享给朋友:

相关文章

react中monent如何获取日期

react中monent如何获取日期

使用 Moment.js 获取当前日期 在 React 中通过 Moment.js 获取当前日期,可以直接调用 moment() 函数。它会返回包含当前日期和时间的 Moment 对象。 impor…

react如何开发组件

react如何开发组件

React 组件开发基础 React 组件分为函数组件和类组件两种形式。函数组件是现代 React 开发的主流方式,结合 Hooks 可以实现完整功能。 函数组件示例: function Gree…

react如何运行

react如何运行

运行React项目的步骤 安装Node.js 确保系统已安装Node.js(建议版本12以上),可从官网下载并安装。Node.js自带npm包管理器,用于后续依赖安装。 创建React项目 使用官方…

react如何卸载

react如何卸载

卸载 React 项目或依赖 如果需要完全卸载 React 项目或相关依赖,可以按照以下步骤操作: 删除项目文件夹 直接删除整个项目文件夹是最彻底的方式。确保已备份重要代码或配置文件。 卸载全局安…

react如何同步

react如何同步

React 同步状态管理方法 在 React 中实现同步状态管理,可以通过以下多种方式实现: 使用 useState 和 useEffect 钩子 通过 useState 定义状态,使用 useEf…

react 如何遍历

react 如何遍历

遍历数组 在React中遍历数组通常使用map方法,它会返回一个新的数组。map是处理数组并渲染列表元素的首选方法。 const items = ['Apple', 'Banana', 'Cherr…