React 使用高德地图实现标记地图点位
import React, { useEffect, useRef } from 'react';
import AMapLoader from '@amap/amap-jsapi-loader';
const MapMarker = ({ position, text }) => {
const mapRef = useRef(null);
useEffect(() => {
AMapLoader.load({
key: "您的高德API Key", // 替换为你的高德API Key
version: "2.0",
plugins: ["AMap.Geolocation", "AMap.Marker"]
}).then((AMap) => {
const map = new AMap.Map("map", {
zoom: 16, // 缩放级别
center: position // 中心点位置
});
// 创建标记
const marker = new AMap.Marker({
position: position,
map: map,
title: text // 标记点的标题
});
// 将map实例存储在ref中以供后续操作
mapRef.current = map;
}).catch(e => {
console.error(e);
});
}, []);
return <div id="map" style={{ width: '100%', height: '400px' }}></div>;
};
export default MapMarker;
这段代码使用React和高德地图API实现了一个简单的地图标记组件。组件接收位置和文本作为props,并在组件挂载时加载高德地图,创建地图实例,并在指定位置添加一个标记点。这个例子展示了如何在React函数组件中使用高德地图API,并遵循了React的最佳实践。
评论已关闭