Похоже это google-maps-react
дизайн библиотеки , только изменение paths
реквизита заставляет Polygon
перерисовать .
Следующий подход можно обновить Свойства многоугольника (например, fillColor
):
1) Получить экземпляр объекта Google Maps Polygon
через атрибут ref
:
<Polygon
ref={this.polygonRef}
onClick={this.handleClick}
paths={triangleCoords}
/>
2) Обновление свойств полигона с помощью Polygon.setOptions
функции :
handleClick = e =>{
this.setPolygonOptions({fillColor: "green"});
}
, где
setPolygonOptions = (options) => {
this.polygonRef.current.polygon.setOptions(options);
};
Демо
Обновление
Другой вариант - получить доступ к экземпляру Polygon и изменить его свойства, как показано ниже.После щелчка на объекте многоугольника его экземпляр передается через параметр second события click
:
handleClick = (props,polygon,e) => {
polygon.setOptions({ fillColor: "#ff00ff"});
};
Demo 2