我在我的React项目中使用了“React-google- https://github.com/tomchentw/react-google-maps”。
为了说明我的问题,请看下面两张图片。第一个展示了地图加载后的外观,第二个展示了地图缩放后的外观。


显然这不是我想要的。
然而,我不知道是什么导致了这一点。当使用size而不是scaledSize时,可以观察到相同的效果(即剪切图标)。这是我实例化地图和标记的方式:
const MapInit = withGoogleMap(props => (
<GoogleMap
ref={props.onMapLoad}
defaultZoom={13}
defaultCenter={{ lat: 48.150884140293215, lng: 11.593923568725586 }}
>
<Marker
{...props.marker}
/>
</GoogleMap>
));这是我的渲染方法。
render () {
const loc = this.props.eventLocation
const marker = {
// position: new google.maps.LatLng(loc.latitude,loc.longitude),
position: new google.maps.LatLng(loc.latitude,loc.longitude),
icon: {
url: icon_url(this.props.markerIcon,'purple'),
scaledSize: new google.maps.Size(40, 64),
origin: new google.maps.Point(0,0)
}
}
return (
<Row>
<Col xs={12}>
<div className='map__aspect-ratio'>
<div className='map__content'>
<MapInit
containerElement={
<div style={{ 'height': `100%` }} />
}
mapElement={
<div style={{ 'height': `100%` }} />
}
onMapLoad={this.handleMapLoad}
marker={marker}
/>
</div>
</div>
</Col>
</Row>
)发布于 2018-08-10 11:17:57
我遇到了完全相同的问题,我找到的解决这个问题的最简单的方法是在svg标签上定义文件本身的svg的宽度和高度:<svg width="00" height="00">。
https://stackoverflow.com/questions/45119457
复制相似问题