如何解决出现错误:使用“ google-maps-react”时,您必须包含“ google”道具
我正在整理一个使用页面的Google Maps的小型React应用程序。我已经安装了“ google-maps-react”依赖项。谷歌地图包含在名为DetailPlaqueCard
的组件中。
见下文。
import React,{ useEffect,useState } from 'react';
import {Link} from 'react-router-dom';
import GoogleMapReact from 'google-maps-react';
function DetailPlaqueCard({match}){
useEffect(() =>{
fetchItem();
console.log(match)
// eslint-disable-next-line
},[])
const [item,setItem] = useState([]);
const mapStyles = {
width: '25%',height: '25%'
};
const fetchItem = async()=>{
var proxyUrl = 'https://cors-anywhere.herokuapp.com/'
// targetUrl = 'https://s3.eu-west-2.amazonaws.com/openplaques/open-plaques-london-2019-03-13.json'
const fetchItem = await fetch(proxyUrl + `http://openplaques.org/plaques/${match.params.id}.json`)
const item = await fetchItem.json();
setItem(item);
console.log(item)
}
return (
<div>
<Link to="/">
<button>
<i class="fas fa-arrow-left"></i>Back
</button>
</Link>
<h1>Here is the detailed page</h1>
<h2>The inscription:{item.inscription}</h2>
<p>Address: {item.address}</p>
<GoogleMapReact
bootstrapURLKeys={{ key: process.env.REACT_APP_GOOGLE_KEY }}
defaultCenter={{lat: item.latitude,lng: item.latitude}}
defaultZoom={15}
style={mapStyles}
/>
</div>
)
}
export default DetailPlaqueCard;
我遇到的问题是,当我运行此代码时,出现以下错误:Error: You must include a google prop
。 不确定为什么无法正常工作,就像我注释掉GoogleMapReact一样,该应用程序运行正常。任何帮助将不胜感激。
解决方法
过去我做过类似的事情,而IIRC,GoogleMapReact组件上缺少属性。
<GoogleMapReact
bootstrapURLKeys={{ key: /* YOUR KEY HERE */ }}
defaultCenter={this.props.center}
defaultZoom={this.props.zoom}
yesIWantToUseGoogleMapApiInternals
onGoogleApiLoaded={({ map,maps }) => handleApiLoaded(map,maps)}
>
根据文档,您缺少最后两个参数。
我希望这是有用的。
src:https://github.com/google-map-react/google-map-react#use-google-maps-api
PD:您发布的S3链接是公开的,任何人都可以访问它们,如果您不希望与Internet共享,我宁愿将其从问题中删除。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。