React-BMapGL 点击marker点聚焦
时间: 2023-07-06 12:13:46 浏览: 53
React-BMapGL 是一个基于 React 封装的百度地图组件库,它提供了一系列用于展示地图、标注物等功能的组件。要实现点击 marker 点聚焦的功能,可以使用 React-BMapGL 提供的 Map 和 Marker 组件以及百度地图 API 的相关方法。
具体实现步骤如下:
1. 在 Map 组件中设置 center 属性,将地图中心点设置为 marker 的位置。
2. 在 Marker 组件中设置 onClick 属性,当 marker 被点击时触发回调函数。
3. 在回调函数中调用 map.panTo 方法,将地图中心点移动到 marker 的位置。
以下是示例代码:
```jsx
import React, { useState } from 'react';
import { Map, Marker } from 'react-bmapgl';
function MapComponent() {
const [center, setCenter] = useState({ lng: 116.404, lat: 39.915 });
const markers = [
{ position: { lng: 116.404, lat: 39.915 }, title: 'Marker1' },
{ position: { lng: 116.414, lat: 39.925 }, title: 'Marker2' },
{ position: { lng: 116.424, lat: 39.935 }, title: 'Marker3' },
];
const handleMarkerClick = (marker) => {
setCenter(marker.position);
};
return (
<Map center={center} zoom={14}>
{markers.map((marker, index) => (
<Marker
key={index}
position={marker.position}
title={marker.title}
onClick={() => handleMarkerClick(marker)}
/>
))}
</Map>
);
}
```
在上述代码中,我们定义了一个 Map 组件和多个 Marker 组件,当点击 Marker 组件时,会将地图中心点设置为该 Marker 的位置,从而实现了点击 marker 点聚焦的功能。