Это в основном вопрос о «переводе» JS в JSX.
У меня есть картаact-google-maps, которая содержит маркер и круг вокруг этого маркера:
Компонент карты:
export class Map extends Component {
render() {
const GoogleMapInstance = withGoogleMap(props => (
<GoogleMap
defaultCenter = { { lat: parseFloat(this.props.lat), lng: parseFloat(this.props.lng) } }
defaultZoom = { 16 }
defaultOptions={{ styles: mapStyles }}
>
<Marker position={{ lat: parseFloat(this.props.lat), lng: parseFloat(this.props.lng) }}/>
<Circle center={{ lat: parseFloat(this.props.lat), lng: parseFloat(this.props.lng) }} radius={parseFloat(this.props.accuracy)} options={{ fillColor: 'red', strokeColor: 'red' }}/>
</GoogleMap>
))
return (
<div>
<GoogleMapInstance
containerElement={ <div style={{ height: '600px', width: '100%' }}/> }
mapElement={ <div style={{ height: '100%' }}/> }
/>
</div>
)
}
}
Я бы хотел, чтобы карту масштабировали так, чтобы круг занимал около 50% карты. Я понимаю, используя Javascript API, я могу просто сделать:
map.fitBounds(circle.getBounds())
Но я не уверен, как интегрировать это с JSX, который у меня есть ...