【发布时间】:2020-08-26 10:36:21
【问题描述】:
我正在使用google-maps-react 在地图中绘制一些多边形。
我想向用户展示他选择的多边形。问题是当用户选择多边形并单击另一个多边形时,似乎有两个选定的多边形,有两个蓝色背景的多边形。
你能告诉我如何在多边形之间进行切换吗?如果用户点击另一个多边形,第一个多边形会恢复到原来的颜色。
这是我输入的代码codesandbox
渲染我的地图:
<Map
google={props.google}
style={{ width: "80%", height: "80%", position: "relative" }}
zoom={14}
initialCenter={{ lat: -22.25176048208858, lng: -47.70295694770419 }}
clickableIcons={false}
className={"map"}
center={{ lat: -22.25176048208858, lng: -47.70295694770419 }}
>
{poligons.map((paths) => (
<Polygon
onMouseover={mouseOver}
onMouseout={mouseOut}
paths={paths}
options={polygonOptions}
onClick={handleClick}
/>
))}
</Map>
处理点击事件:
const handleClick = (props, polygon) => {
const paths = polygon.getPaths().getArray();
const coordinates = paths.map((path) => {
const points = path.getArray();
return points.map((point) => [point.lng(), point.lat()]);
});
polygon.setOptions({
fillColor: "blue"
});
return {
type: "Polygon",
coordinates
};
};
显示图像可以更轻松地查看发生的问题:
提前谢谢你。
【问题讨论】:
标签: javascript reactjs google-maps google-maps-react