反应传单需要 lat 和 lng 以在地图中显示所需的位置。我如何从给定地址计算纬度和经度?我需要两个地址的 lat 和 lng。
我是否必须使用地理编码器并在其中包装 renderMap 函数?在我的代码中,我想要 cityOrigen 和 cityDestino 的 lat 和 lng。
function renderMap(cityOrigen, cityDestino) {
return <ReactMap crityOrigen={cityOrigen} cityDestino={cityDestino} />;
}
const ReactMap = ({ cityOrigen, cityDestino }) => {
const position = [51.505, -0.09];
return (
<Map center={position} zoom={13} style={{ height: 500 }}>
<TileLayer
url='https://mt{s}.google.com/vt/lyrs=m&x={x}&y={y}&z={z}'
/>
<Marker position={position}>
<Popup>
<span>A pretty CSS3 popup.</span>
</Popup>
</Marker>
</Map>
);
};
class CarResult extends Component {
render() {
const { carResult, origen, destino } = this.props;
const cityOrigen = origen && origen.label.split(', ')[0];
const cityDestino = destino && destino.label.split(', ')[0];
const carResultMap = renderMap(cityOrigen, cityDestino);
if (!carResult.fetching) {
return (
<div>
Hemos encontrado {carResultList.length} ofertas para ti.
<div className="car-result-container">
<Grid fluid>
<Row>
<Col xs={12} sm={12} md={6}>
{carResultList}
</Col>
<Col x={12} sm={12} md={6}>
{carResultMap}
</Col>
</Row>
</Grid>
</div>
</div>
);
}
}