当前位置:首页 > 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版本

如何降低react版本

降低 React 项目版本的步骤 检查当前 React 版本 运行以下命令查看项目中安装的 React 当前版本: npm list react 或 yarn list react 修改…

如何记忆react

如何记忆react

理解核心概念 React的核心概念包括组件、状态(state)、属性(props)、生命周期方法(类组件)和钩子(函数组件)。掌握这些基础概念是记忆React的关键。组件是React应用的构建块,分为…

如何改造react

如何改造react

改造 React 项目的关键方法 分析当前项目结构 通过评估现有组件、状态管理和依赖项,明确需要改进的部分。使用工具如 webpack-bundle-analyzer 识别性能瓶颈。 升级 Reac…

react如何diff

react如何diff

React Diff 算法原理 React 的 Diff 算法是 Virtual DOM 的核心部分,用于高效更新真实 DOM。其核心思想是通过对比新旧 Virtual DOM 树的差异,最小化 DO…

react项目如何启动

react项目如何启动

启动React项目的步骤 确保已安装Node.js(建议版本12以上)和npm/yarn。可通过以下命令检查版本: node -v npm -v 全局安装create-react-app脚手架工具(…

react如何启动6

react如何启动6

安装 Node.js 和 npm/yarn 确保系统中已安装 Node.js(建议版本 16 或更高)和 npm/yarn。可通过以下命令验证版本: node -v npm -v 创建 Reac…