gpt4 book ai didi

javascript - 如何在 React 组件中加载谷歌地图标记

转载 作者:行者123 更新时间:2023-11-30 14:49:21 25 4
gpt4 key购买 nike

我在这里找到了这篇有类似问题的帖子,但没有帮助。 Google Map Marker as Reactjs Component

在我的数据库中,我存储了一些纬度和经度值。我在模型中检索这些值以向用户显示一些数据。我将这些值发送到我按照本教程 https://tomchentw.github.io/react-google-maps/#introduction

创建的简单 Google map 组件

组件从“props”接收“model”,我获取这些值并设置两个变量并尝试将它们发送到 google 组件。

map 根本不会加载我发送的这些值。如果我不使用“parseFloat”,我会收到一条错误消息,指出值的格式不正确。

import React from 'react'
import {withGoogleMap,
withScriptjs,
GoogleMap,
Marker } from 'react-google-maps';
import { compose, withProps } from 'recompose'

const MyMapComponent = withScriptjs(withGoogleMap((props) =>
<GoogleMap
defaultZoom={8}
defaultCenter={{lat:parseFloat(props.lat),lng:parseFloat(props.long)}}
>
{props.isMarkerShown && <Marker position={{lat:-18.245630,lng:-45.222387}}
/>}
</GoogleMap>
))

export default class extends React.Component {
constructor(props) {
super(props)
this.state = {
isMarkerShown: false
}
}
componentDidMount() {
this.delayedShowMarker()
}
delayedShowMarker = () => {
setTimeout(() => {
this.setState({ isMarkerShown: true })
}, 3000)
}
handleMarkerClick = () => {
this.setState({ isMarkerShown: false })
this.delayedShowMarker()
}
render() {
let { model } = this.props;
let lat = model.value.latitudeGeoreferencia
let long = model.value.longitudeGeoreferencia
return (
<MyMapComponent
isMarkerShown
googleMapURL="https://maps.googleapis.com/maps/api/js?
key=myKey.exp&libraries=geometry,drawing,places"
loadingElement={<div style={{ height: `100%` }} />}
containerElement={<div style={{ height: `400px` }} />}
mapElement={<div style={{ height: `100%` }} />}
lat
long
/>
)
}
}

最佳答案

您没有将 Prop 传递给 MyMapComponent。如果您只输入属性名称,它将接收 true 作为 prop 值。尝试:

<MyMapComponent
isMarkerShown={this.state.isMarkerShown}
googleMapURL="https://maps.googleapis.com/maps/api/js?
key=myKey.exp&libraries=geometry,drawing,places"
loadingElement={<div style={{ height: `100%` }} />}
containerElement={<div style={{ height: `400px` }} />}
mapElement={<div style={{ height: `100%` }} />}
lat={lat}
long={long}
/>

关于javascript - 如何在 React 组件中加载谷歌地图标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48422663/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com