我正在尝试使用Google Places API做出反应原生。我首先尝试使用fetch
直接发出请求,但我刚看到您必须使用Google提供的现有类/对象,例如PlacesService
。搜索包含API对象的React Native库只会显示一些自动完成功能,而不是其他功能。
Places API文档说使用此网址加载库:<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&libraries=places"></script>
对于我来说,这在普通的web开发中很简单,但不是原生的。在React Native中加载这样的库的标准过程是什么?
现在我已将上面链接中的JS内容复制并粘贴到我的React Native项目中的文件中。但是,我甚至不知道如何导出它,因为我无法确定对象/函数的名称是什么。谷歌 ? google.maps?
现在我正在做:
export default google.maps
并尝试了
export default google
但这些都抛出了这个错误:
cannot read property 'createElement' of undefined
这是我的第一个React Native项目,所以如果这是一个基本问题,我很抱歉。
感谢您的帮助。
答案 0 :(得分:1)
but I just saw that you have to use the existing classes/objects provided by Google
我不确定你的意思。地方api可以通过fetch / api请求完成。查看react-native-google-places
在https://github.com/FaridSafi/react-native-google-places-autocomplete/blob/master/GooglePlacesAutocomplete.js#L227处的行为方式
他们使用new XMLHttpRequest();
,但fetch()
也可以。它是web api,我认为你不需要运行任何外部javascript /加载任何外部js文件。