react项目中使用高德地图(一)

本文介绍了如何依据官方文档创建一个应用,获取必要的key和安全密钥。在页面上设置一个div作为地图容器,并通过React的useEffect和AMap.Map来初始化以成都为中心的地图,设置特定的宽高和级别。
摘要由CSDN通过智能技术生成

根据官方文档说明创建一个应用 - 获得key和安全密钥 - 在页面添加div作为页面容器 - 给容器一个id和指定宽高 - 在页面index文件里引入JSAPI 脚本

 

在页面指定容器指定宽高引入地图并初始化: 

import React, { useEffect, useMemo, useRef, useState } from 'react'

const { AMap } = window

function App(props) {

  //初始化地图

  const initMap=()=>{

    const map = new AMap.Map('container', {

      zoom: 11,//级别

      center: [104.065735, 30.659462],//中心点坐标

    });

  }

  useEffect(function () {

    initMap()

  }, [])

  return (

    <div id="container" style={{width:'100%',height:'800px'}}>

    </div>

  );

}

export default App;

由此一个以成都为中心坐标的地图就完成了!

 

 

React使用高德地图自定义信息窗体的方法如下: 1. 首先,确保您已经在项目引入高德地图的JavaScript SDK。可以通过在index.html添加以下代码来引入: ```html <script src="https://webapi.amap.com/maps?v=1.4.15&key=your_api_key"></script> ``` 请将 `your_api_key` 替换为您在高德地图开放平台申请的 API Key。 2. 创建一个React组件来包含地图和信息窗体。在该组件的构造函数初始化地图,并在组件挂载后创建信息窗体。以下是一个简单的示例: ```javascript import React, { Component } from 'react'; class MapWithInfoWindow extends Component { constructor(props) { super(props); this.map = null; this.infoWindow = null; } componentDidMount() { this.initMap(); } initMap() { // 初始化地图 this.map = new window.AMap.Map('map-container', { center: [lng, lat], // 设置地图心点坐标 zoom: 13, // 设置地图缩放级别 }); // 创建信息窗体 this.infoWindow = new window.AMap.InfoWindow({ isCustom: true, // 使用自定义窗体 content: this.renderInfoWindowContent(), // 自定义窗体内容 offset: new window.AMap.Pixel(0, -30), // 设置信息窗体偏移量 }); } renderInfoWindowContent() { // 自定义窗体内容 return ( <div> <h3>视频标题</h3> <p>视频描述</p> <video src="video_url" controls width="200" height="150" /> </div> ); } openInfoWindow() { // 打开信息窗体 this.infoWindow.open(this.map, [lng, lat]); // 设置信息窗体的位置坐标 } render() { return <div id="map-container" style={{ width: '100%', height: '400px' }} />; } } export default MapWithInfoWindow; ``` 在上面的示例,`lng`和`lat`是地图的心点坐标,您可以根据实际需要进行调整。`video_url`是视频的URL,您可以将其替换为您自己的视频URL。 3. 在需要显示地图的组件使用`MapWithInfoWindow`组件: ```javascript import React from 'react'; import MapWithInfoWindow from './MapWithInfoWindow'; function App() { return ( <div> {/* 其他组件 */} <MapWithInfoWindow /> </div> ); } export default App; ``` 通过在所需位置调用`openInfoWindow`方法,您可以在需要的时候打开信息窗体。 请注意,上述代码只是一个简单的示例,您可能需要根据实际需求进行更多的定制和调整。希望对您有帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值