【问题标题】:Is it possible to control which Google Maps scripts get fetched (JavaScript API)?是否可以控制获取哪些 Google 地图脚本(JavaScript API)?
【发布时间】:2016-05-19 17:33:55
【问题描述】:

所以我使用谷歌地图为城市自动完成文本输入。我正在调用的脚本有一个像这样的 src:

https://maps.googleapis.com/maps/api/js?libraries=places&callback=initAutocomplete&types=(cities)

我在网络标签中看到这实际上下载了很多外部谷歌脚本:

common.js
util.js
controls.js
places_impl.js
stats.js

总的来说,这些脚本超过 100kb...这等于我的 整个 应用程序(gzip 压缩)的大小。这真的只需要一个地方自动完成吗?有什么方法可以将参数传递到控制下载内容的请求 url 中?

【问题讨论】:

    标签: javascript google-maps google-maps-api-3 autocomplete


    【解决方案1】:

    这些都是 Google Maps JS API 需要正常运行、显示地图等的所有脚本。但是如果您只想要 Places Autocomplete,并且您甚至不想显示地图,那么有一种方法适合您不下载任何库。

    只需向Google Places API 发出请求,例如:

    https://maps.googleapis.com/maps/api/place/autocomplete/json?input=TEXT&types=(cities)&language=en&key=YOUR_API_KEY
    

    每次用户在您的搜索输入框中输入内容时自动完成结果(或者最好有一些限制)。 Google Places API 不是您在项目中使用的 Google Maps JS API 的一部分,它是一个单独的 API,仅适用于 Places。

    【讨论】:

    • 你有这方面的例子吗?我一直在寻找 npm 包(最好是基于 React 的包),但没有发现任何有用但又不臃肿的东西。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-03
    • 2018-12-11
    • 1970-01-01
    相关资源
    最近更新 更多