javascript - 添加路线,google未定义
问题描述
我尝试在我的地图中添加一条简单的路线,但是当我调用 google.maps.DirectionsService() 时,我得到这个 google 是未定义的,所以我尝试添加一个 const 变量,但现在错误消息是无法读取未定义的属性“地图” ..
我不知道我做错了什么
const google = window.google;
class Map extends Component {
constructor(props) {
super(props);
this.state = {
latitude: 0,
longitude: 0,
nombre_de_bars: null
}
}
map() {
const [selectedBar, setSelectedBar] = useState(null);
const { nombre_de_bars } = this.state
const rows = nombre_de_bars.map(bar =>
<Marker key={bar._id}
position={{
lat: bar.latitude,
lng: bar.longitude
}}
onClick={() => {
setSelectedBar(bar);
}}
icon={{
url: '/images/biere_logo.png',
scaledSize: new window.google.maps.Size(25, 25)
}}
/>
);
return (
<GoogleMap
defaultZoom={14}
defaultCenter={{ lat: this.state.latitude, lng: this.state.longitude }}
defaultOptions={{
zoomControl: false,
mapTypeControl: false,
scaleControl: false,
streetViewControl: false,
rotateControl: false,
fullscreenControl: false
}}>
<Marker
position={{ lat: this.state.latitude, lng: this.state.longitude }}
icon={{
url: '/images/marker.png',
scaledSize: new window.google.maps.Size(50, 50)
}}
/>
{rows}
{selectedBar && (
<InfoWindow
position={{
lat: selectedBar.latitude,
lng: selectedBar.longitude
}}
onCloseClick={() => {
setSelectedBar(null);
}}
>
<div>
<p>{selectedBar.name}</p>
<p>{selectedBar.description}</p>
<button onClick={() => {
this.itineraireTo(selectedBar);
}}>Je m'y rend</button>
</div>
</InfoWindow>
)}
</GoogleMap>
);
}
render() {
const WrappedMap = withScriptjs(withGoogleMap(this.map.bind(this)));
const DirectionsService = new google.maps.DirectionsService();
return (
<WrappedMap
googleMapURL="https://maps.googleapis.com/maps/api/js?key=MY_KEY&v=3.exp&libraries=geometry,drawing,places"
loadingElement={<div style={{ height: `100%`, width: '100%' }} />}
containerElement={<div style={{ height: `100%`, width: '100%' }} />}
mapElement={<div style={{ height: `100%`, width: '100%' }} />}
/>
);
}
}
export default Map;
我尝试使用 withGoogleMap(Map) 导出,但没有解决问题。
我阅读了 tomchentw.github.io 上的文档,但没有发生类似的问题
解决方案
推荐阅读
- database - Elasticsearch如何设置fielddata:所有文本字段都为true
- python - ImportError:DLL 加载失败:找不到网络名称
- powerbi - 计算 Power BI 中的贡献
- html - 将文本与字体真棒图标对齐
- magento2 - Magento 2.3 在从 magento 2.2.x 升级后停止了所见即所得(Tinymce)编辑器的工作
- java - 如何在没有调试信息的情况下调试代码?
- c# - 由用户在类 c# 中使用 WPF 传递传入变量
- asp.net - 在 Azure AD B2C 中预填充自定义字段的传递值
- javascript - 从 mongodb 检索的子对象作为 javascript 对象不是难以处理的吗?
- scala - 如何让 Scalaz ZIO 变得懒惰?