如何在React Native中加载Google Places API?

时间:2017-12-18 22:40:05

标签: react-native

我正在尝试使用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项目,所以如果这是一个基本问题,我很抱歉。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

but I just saw that you have to use the existing classes/objects provided by Google

我不确定你的意思。地方api可以通过fetch / api请求完成。查看react-native-google-placeshttps://github.com/FaridSafi/react-native-google-places-autocomplete/blob/master/GooglePlacesAutocomplete.js#L227处的行为方式 他们使用new XMLHttpRequest();,但fetch()也可以。它是web api,我认为你不需要运行任何外部javascript /加载任何外部js文件。