React 基础调用高德地图版

下载 npm i @amap/amap-jsapi-loader --save

npm i @amap/amap-jsapi-loader --save
新建 MapContainer.js 文件

在项目中新建 MapContainer.js 文件,用作地图组件脚本。(可以自己定义文件)

新建 MapContainer.css 文件

在项目中新建 MapContainer.css 文件,用作地图组件样式。(可以自己定义文件)

设置地图容器样式

在 MapContainer.css样式文件中设置地图容器样式

.container{
  padding: 0px;
  margin: 0px;
  width: 100%;
}
引入 JS API  Loader

在 MapContainer.js脚本文件中引入 amap-jsapi-loader依赖

import AMapLoader from '@amap/amap-jsapi-loader';
React类组件的形式完整代码
import React, { Component } from 'react';
import styles from "./MapContainer.css";
import AMapLoader from '@amap/amap-jsapi-loader';

class  MapComponent extends Component{
  constructor(){
    super();      
    this.map = null;
  }
  // 2.dom渲染成功后进行map对象的创建
  componentDidMount(){
    AMapLoader.load({
      key:"",                     // 申请好的Web端开发者Key,首次调用 load 时必填
      version:"2.0",              // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
      plugins:[''],               // 需要使用的的插件列表,如比例尺'AMap.Scale'等
    }).then((AMap)=>{
      this.map = new AMap.Map("container",{ //设置地图容器id
        viewMode:"3D",         //是否为3D地图模式
        zoom:5,                //初始化地图级别
        center:[105.602725,37.076636], //初始化地图中心点位置
      });
    }).catch(e=>{
      console.log(e);
    })
  }
  render(){
      // 1.初始化创建地图容器,div标签作为地图容器,同时为该div指定id属性;
      return (
        <div id="container" className={styles.container} style={{ height: '800px' }} > 
        </div>
    );
  }
}
//导出地图组建类
export default MapComponent;

函数组件完整代码

import { useEffect } from "react";
import styles from "./MapContainer.css";
import AMapLoader from "@amap/amap-jsapi-loader";

export default function MapContainer() {
  let map = null;

  useEffect(() => {
    AMapLoader.load({
      key: "", // 申请好的Web端开发者Key,首次调用 load 时必填
      version: "2.0", // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
      plugins: [], // 需要使用的的插件列表,如比例尺'AMap.Scale'等
    })
      .then((AMap) => {
        map = new AMap.Map("container", {
          // 设置地图容器id
          viewMode: "3D", // 是否为3D地图模式
          zoom: 11, // 初始化地图级别
          center: [116.397428, 39.90923], // 初始化地图中心点位置
        });
      })
      .catch((e) => {
        console.log(e);
      });

    return () => {
      map?.destroy();
    };
  }, []);

  return (
    <div
      id="container"
      className={styles.container}
      style={{ height: "800px" }}
    ></div>
  );
}

以上只是最基础的代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
React使用高德地图弹框中播放视频,你可以按照以下步骤进行操作: 1. 首先,确保已经安装了高德地图的JavaScript API,可以通过在index.html文件中添加以下代码来引入API: ```html <script src="https://webapi.amap.com/maps?v=1.4.15&key=YOUR_API_KEY"></script> ``` 请将YOUR_API_KEY替换为你自己的高德地图API密钥。 2. 在React组件中引入高德地图的JavaScript API。你可以在componentDidMount生命周期方法中引入API,或者使用React的useEffect钩子函数。 ```jsx import React, { useEffect } from 'react'; const MapComponent = () => { useEffect(() => { const map = new window.AMap.Map('mapContainer', { // 初始化地图配置 }); // 在地图上添加弹框 const infoWindow = new window.AMap.InfoWindow({ // 弹框配置 }); // 在弹框中添加视频元素 const videoElement = document.createElement('video'); videoElement.src = 'YOUR_VIDEO_URL'; videoElement.controls = true; // 显示视频控制条 // 将视频元素添加到弹框中 infoWindow.setContent(videoElement); // 监听地图上的点击事件,显示弹框 map.on('click', (event) => { infoWindow.open(map, event.lnglat); }); }, []); return <div id="mapContainer" style={{ width: '100%', height: '400px' }} />; }; export default MapComponent; ``` 在上述代码中,你需要将YOUR_VIDEO_URL替换为你想要播放的视频的URL。然后,你可以在MapComponent组件中使用`<MapComponent />`来显示地图和弹框。 请确保你已经按照高德地图的API文档正确配置了地图和弹框的其他属性,以及添加了适当的样式。 希望对你有所帮助!如有任何疑问,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值