高德地图key

server/2024/10/4 18:25:01/

第一步:加载地图组件 AMapLoader.load
第二步:初始化地图组件,在地图上做标记
第三步:打开地图弹窗,new AMap.InfoWindow
第四步:搜索弹窗上的select,调用接口,返回数据展示在select上(后端模糊搜索 + 防抖)
第五步:选择心仪地址,进行回调

javascript">import AMapLoader from '@amap/amap-jsapi-loader'
import React, { useEffect, useRef, useState } from 'react'
import debounce from 'lodash/debounce'const MapSelect = (props) => {const { value } = propsconst geocoder = useRef<any>()const map = useRef<any>()const [AMap, setAMap] = useState(null)const mapRef = useRef<any>()useEffect(() => {AMapLoader.load({//首次调用 loadkey: 'xxx', //首次load key为必填version: '2.0',plugins: ['AMap.Geocoder'],}).then((_AMap) => {// 组件初始化之后将获取到的AMap对象setAMap(_AMap)const AMap = _AMapgeocoder.current = new AMap.Geocoder({})initMap()})}, [])//初始化地图const initMap = () => {const { longitude, latitude, text } = value || {}const center =longitude && latitude ? new AMap.LngLat(longitude, latitude) : nullmap.current = new AMap.Map(mapRef.current, {resizeEnable: true,jogEnable: false,zoom: 14,center,})center && updateMark(center, text) // 地图上做标记}// 更新markerconst updateMark = (center, text) => {}const debounceSearchApi = debounce((value: string) => {searchByApi(value)}, 300)// 使用api查询搜索出来的地址const searchByApi = async (value: string) => {}// 打开地图弹窗,展示地图组件const setInfoWindowContent = (e) => {infoWindow = new AMap.InfoWindow({isCustom: true,content,offset: new AMap.Pixel(0, -40),})infoWindow?.open(map.current, location)map?.current?.setCenter(center)map?.current?.setZoom(14)}return (<><SearchonSearch={openSelectLngLat}placeholder="请输入地址"value={text}onChange={handleInputChange}onCompositionStart={handleCompositionStart}onCompositionEnd={handleCompositionEnd}style={{ width, ...style }}/><divonMouseUp={onMouseUp}onMouseMove={onMouseMove}onMouseDown={onMouseDown}onClick={() => {if (!isMove) {openSelectLngLat()}}}><div ref={mapRef} />{!(longitude && latitude) && (<div>{icon && <img style={{ width: 28, height: 28 }} src={icon} />}<span>{markTitle || '去标注'}</span></div>)}</div><Modaltext={selectLngLatModalText}visible={selectLngLatModalVisible}isMarkTextUseSelectAddress={isMarkTextUseSelectAddress}info={selectLngLatModalLngLat}onClose={closeSelectLngLatModal}onChange={ModalGetLngLat}bindLatestAddress={(getLatestAddress && (updateAddress as any)) || null}/></>)
}export default MapSelect

弹框

javascript">    <Modalvisible={visible}destroyOnCloseonCancel={handleClose}onOk={handleSubmit}okText="保存位置"title="设置定位"><div><Selectstyle={{ width: '720px', marginBottom: '10px' }}showSearchdefaultValue={text}placeholder="请输入需要查找的位置"onSearch={(value) => {debounceSearchApi(value)}}options={addressOptions}filterOption={false}onChange={handleChangeOptions}/></div><div><div style={{ width: '720px', height: '600px' }} ref={modalMapRef} /></div></Modal>

http://www.ppmy.cn/server/127049.html

相关文章

春意盎然:Spring Boot驱动的“衣依”服装销售平台

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统&#xff0c;它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等&#xff0c;非常适…

影院管理新篇章:小徐的Spring Boot应用

第三章 系统分析 整个系统的功能模块主要是对各个项目元素组合、分解和更换做出对应的单元&#xff0c;最后在根据各个系统模块来做出一个简单的原则&#xff0c;系统的整体设计是根据用户的需求来进行设计的。为了更好的服务于用户要从小徐影城管理系统的设计与实现方面上做出…

JavaScript(JS)学习笔记 6 常用的JS内置对象(FileReader对象 FormData对象 Promise对象 Response对象)

文章目录 FileReader对象FormData对象Promise对象Response对象 FileReader对象 基本作用&#xff1a;对象允许Web应用程序异步读取存储在用户计算机上的文件&#xff08;或原始数据缓冲区&#xff09;的内容&#xff0c;使用 File 或 Blob 对象指定要读取的文件或数据。 异步…

物联网 IOT 与工业物联网 IIOT 极简理解

物联网 IOT IOT&#xff08;全称 Internet of Things&#xff09;指物联网&#xff0c;它是指通过互联网连接&#xff0c;将各种物体&#xff08;例如&#xff0c;传感器、设备、车辆等&#xff09;和人进行互联互通的网络系统 物联网的核心是将各种物体连接到互联网&#xff…

JVM(Java Virtual Machine) 详解

1. JVM 内存区域划分 一个 Java 写的程序&#xff0c;跑起来就得到了一个 Java 进程&#xff08;资源分配的基本单位&#xff09; JVM 上面运行的字节码指令 1) 程序计数器&#xff08;比较小的空间&#xff09;&#xff0c;保存了下一条要执行的指令的地址 这个不是 CPU 的…

使用微服务Spring Cloud集成Kafka实现异步通信

在微服务架构中&#xff0c;使用Spring Cloud集成Apache Kafka来实现异步通信是一种常见且高效的做法。Kafka作为一个分布式流处理平台&#xff0c;能够处理高吞吐量的数据&#xff0c;非常适合用于微服务之间的消息传递。 微服务之间的通信方式包括同步通信和异步通信。 1&a…

ROS2—quaternion_inverse()

ROS2 — quaternion_inverse() quaternion_inverse() 函数用于计算四元数的逆。四元数是一种在三维空间中表示旋转的数学工具&#xff0c;它由一个实部和三个虚部组成&#xff0c;通常表示为 q w xi yj zk&#xff0c;其中 w 是实部&#xff0c;而 x, y, z 是虚部&#xf…

python 实现linear algebra线性代数算法

linear algebra线性代数算法介绍 线性代数&#xff08;Linear Algebra&#xff09;是一个广泛的数学领域&#xff0c;涵盖了多个算法和概念&#xff0c;这些算法和概念在处理向量、矩阵、线性方程组、线性变换等方面发挥着重要作用。以下是一些线性代数中常见的算法和概念&…