gpt4 book ai didi

javascript - 使用 recompose 和 react-google-maps 使用 Google Maps API 获取错误

转载 作者:行者123 更新时间:2023-11-30 20:53:43 25 4
gpt4 key购买 nike

我正在使用 Google Maps API 在 map 上显示地点。但是,每次我在 map 上拖动位置时,都会出现以下错误:

errors on console

这是我的 Google map ,使用 Google Maps API,recomposereact-google-maps .它可以工作,但会出错。

/*global google*/
import React from "react"
import { compose, withProps, withHandlers, withState } from "recompose"
import { withScriptjs, withGoogleMap, GoogleMap, Marker } from "react-google-maps"

const MyMapComponent = compose(
withProps({
googleMapURL: "https://maps.googleapis.com/maps/api/js?v=3.exp&libraries=geometry,drawing,places",
loadingElement: <div style={{ height: `100%` }} />,
containerElement: <div style={{ height: `400px` }} />,
mapElement: <div style={{ height: `100%` }} />,
}),
withScriptjs,
withGoogleMap,
withState('places', 'updatePlaces', ''),
withHandlers(() => {
const refs = {
map: undefined,
}

return {
onMapMounted: () => ref => {
refs.map = ref
},
fetchPlaces: ({ updatePlaces }) => {
let places;
const bounds = refs.map.getBounds();
const service = new google.maps.places.PlacesService(refs.map.context.__SECRET_MAP_DO_NOT_USE_OR_YOU_WILL_BE_FIRED);
const request = {
bounds: bounds,
type: ['hotel']
};
service.nearbySearch(request, (results, status) => {
if (status == google.maps.places.PlacesServiceStatus.OK) {
console.log(results);
updatePlaces(results);
}
})
}
}
}),
)((props) => {
return (
<GoogleMap
onTilesLoaded={props.fetchPlaces}
ref={props.onMapMounted}
onBoundsChanged={props.fetchPlaces}
defaultZoom={8}
defaultCenter={{ lat: 51.508530, lng: -0.076132 }}
>
{props.places && props.places.map((place, i) =>
<Marker key={i} position={{ lat: place.geometry.location.lat(), lng: place.geometry.location.lng() }} />
)}
</GoogleMap>
)
})

export default class MyFancyComponent extends React.PureComponent {
render() {
return (
<MyMapComponent />
)
}
}

我尝试在 Github issues、Google 和 StackOverflow 上寻找解决方案,但还没有找到解决方案。

在更改(拖动) map 上的位置时,如何修复错误?

google map with markers

最佳答案

withHandlers 期望 fetchPlaces 函数是一个高阶函数,所以修改:

fetchPlaces: ({ updatePlaces }) => {
//...
}

fetchPlaces: ({ updatePlaces })  => () => {
//...
}

关于javascript - 使用 recompose 和 react-google-maps 使用 Google Maps API 获取错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47894740/

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