react引入高德地图并初始化卫星地图

react引入高德地图并初始化卫星地图

1.安装依赖

shell 复制代码
yarn add react-amap @amap/amap-jsapi-loader

2.初始化地图

js 复制代码
import AMapLoader from "@amap/amap-jsapi-loader";
import { FC, useEffect, useRef, useState } from "react";

const HomeRight = () => {
  const mymap: any = useRef(null);

  useEffect(()=>{
    AMapLoader.load({
      key: "你的key", // 申请好的Web端开发者Key,首次调用 load 时必填
      version: "2.0", // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
      plugins: [], // 需要使用的的插件列表,如比例尺'AMap.Scale'等
    })
      .then(initMap)
      .catch((e: any) => {
        console.log(e);
      });

    return () => {
      mymap.current.destroy();
    };
  },[])

  /**
   * 加载插件并初始化地图
   */
  const initMap = () => {
    // 1.加载插件
    AMap.plugin(
      [
        "AMap.ToolBar",
        "AMap.Scale",
        "AMap.HawkEye",
        "AMap.ControlBar",
        "AMap.MapType",
        "AMap.Geolocation",
        "AMap.ContextMenu",
        "AMap.AutoComplete",
        "AMap.PlaceSearch",
      ],
      function () {
        // 创建卫星图图层对象
        const satelliteLayer = new AMap.TileLayer.Satellite();
        // 2.初始化地图实例
        const map = new AMap.Map("myMap", {
          resizeEnable: true,
          expandZoomRange: true, // 放大缩小限制
          zooms: [4, 20], // 放大缩小范围
          center: [116.397428, 39.90923], // 中心点
          layers: [satelliteLayer], // 卫星图类型
          zoom: 5, // 默认缩放级别
        });
        mymap.current = map;
      }
    );
  };

  return (
    <div id="myMap" style={{ width: "100%", height: "100%" }}></div>
  )
};
相关推荐
API技术员1 分钟前
item_get_app - 根据ID取商品详情原数据H5数据接口实战解析
javascript
八哥程序员2 分钟前
Chrome DevTools 详解系列之 Elements面板
javascript·浏览器
coderHing[专注前端]7 分钟前
告别 try/catch 地狱:用三元组重新定义 JavaScript 错误处理
开发语言·前端·javascript·react.js·前端框架·ecmascript
UIUV23 分钟前
JavaScript中this指向机制与异步回调解决方案详解
前端·javascript·代码规范
momo10023 分钟前
IndexedDB 实战:封装一个通用工具类,搞定所有本地存储需求
前端·javascript
San3030 分钟前
从零到一:彻底搞定面试高频算法——“列表转树”与“爬楼梯”全解析
javascript·算法·面试
JellyDDD44 分钟前
h5上传大文件可能会导致手机浏览器卡死,重新刷新的问题
javascript·上传文件
T___T2 小时前
一个定时器,理清 JavaScript 里的 this
前端·javascript·面试
San302 小时前
深度驱动:React Hooks 核心之 `useState` 与 `useEffect` 实战详解
javascript·react.js·响应式编程