CORS 和 Google 地图地点自动完成 API 调用 [重复]

2024-01-12

我正在尝试与 Google 地图地点自动完成 API 进行 Angular 对话。问题是服务器不允许 CORS 调用(它不返回Access-Control-Allow-Originheader)和 JSONP 调用似乎也是徒劳的,因为它返回纯 JSON 而不是 JSONP,从而导致语法错误。

这就是我目前正在服务功能中尝试的(_jsonp is a Jsonp目的):

return this._jsonp.request(url, { method: 'GET' });

但这是行不通的。响应到达,但 Angular 崩溃,因为它不是 JSONP 而是 JSON。

这太疯狂了。如果 CORS 被禁用并且 JSONP 调用不起作用,我到底如何访问它?

https://maps.googleapis.com/maps/api/place/autocomplete/json?key=ACCESS_KEY&types=(cities)&input=ber

有没有办法将 JSON 服务器响应转换为 Observable 管道中的 JSONP 数据对象?


从 Web 应用程序调用地点自动完成 API 的受支持方法是使用地点库 https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete:

<script>
  function initMap() {
    var map = new google.maps.Map(document.getElementById('map'), {
      center: {lat: -33.8688, lng: 151.2195},
      zoom: 13
    });
    ...
    map.controls[google.maps.ControlPosition.TOP_RIGHT].push(card);
    var autocomplete = new google.maps.places.Autocomplete(input);
    autocomplete.bindTo('bounds', map);
    var infowindow = new google.maps.InfoWindow();
    var infowindowContent = document.getElementById('infowindow-content');
    infowindow.setContent(infowindowContent);
    var marker = new google.maps.Marker({
      map: map,
      anchorPoint: new google.maps.Point(0, -29)
    });
</script>
<script
  src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&libraries=places&callback=initMap"
  async defer></script>

这样一来,响应缺乏内容并不重要Access-Control-Allow-Origin标头。

以这种方式使用 Maps JavaScript API——通过script元素来加载库,然后使用google.maps.Map和别的google.maps.*方法——是唯一受支持的方法。 Google 故意不允许通过使用 XHR 或 Fetch API 发送的请求来执行此操作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CORS 和 Google 地图地点自动完成 API 调用 [重复] 的相关文章

随机推荐

  • 在 javascript 中注入 PHP 的转义字符的正确组合?

    我已经尝试了所有我知道的组合 但无法得到正确的结果 echo lt lt
  • C 中 ptrdiff_t 在哪里定义?

    哪里ptrdiff t在C中定义 它定义在stddef h 该标头定义了整数类型size t ptrdiff t and wchar t 函数宏offsetof 以及常数宏NULL
  • 使用 artisan migrate 时出现流明错误

    我是 Lumen 新手 当我尝试使用时 php artisan migrate 我收到以下错误 PDOException SQLSTATE HY000 2002 No such file or directory 如果我将 localhos
  • 如何在C++中计算文件的行数?

    如何使用标准类来计算行数 fstream and ifstream 这个怎么样 std ifstream inFile file std count std istreambuf iterator
  • 续集查询的可选参数

    早上好 我对 NodeJS sequelize 世界相当陌生 目前在尝试在屏幕上显示仪表板时遇到问题 该仪表板具有三个过滤器 两个日期 期间 客户姓名和员工姓名 用户可以选择无 一个 两个或所有过滤器 我的数据库需要相应地工作 话虽这么说
  • 在 CSS 中创建具有可滚动内容的可变高度“固定”标题

    我想在页面上创建一个标题 当您滚动页面时该标题不会移动 这看起来很简单 只需将 position fixed 添加到样式中 但内容就会出现在标题下方 因为标题 从流中删除 所以我认为的解决方案是在内容中添加 margin top heigh
  • 在Python中取消引用列表内的列表

    当我以 通用 方式定义列表时 gt gt gt a 3 gt gt gt a 然后尝试仅附加到外部列表的第二个元素 gt gt gt a 1 append 0 1 gt gt gt a 0 1 0 1 0 1 如上所示 它附加到外部列表的所
  • 鼠标移开时保持子菜单打开

    我正在开发的导航菜单具有默认的 CSS 行为 对于那些禁用 JavaScript 的极少数人 默认情况下 不显示子菜单 main navigation ul ul display none 将鼠标悬停时 会显示子菜单 main naviga
  • 如何在 UITests 中访问“tableViewCell”中的“detailTextLabel”?

    我想检查是否有tableViewCell detailTextLabel在我的 UITest 中使用给定的字符串 问题是当我搜索时app tables cells children matching staticText 它只会寻找那些标签
  • 函数 nil.id/0 未定义或私有 - Elixir

    我正在尝试使用监护人身份验证来测试用户 ID 是否等于资源 ID 如果没有当前令牌 并且我尝试访问正在检查令牌的网址 则会收到此错误function nil id 0 is undefined or private 我来自红宝石背景 我不知
  • 语法高亮在 Jekyll 的 MD 文件中不起作用?

    使用 kramdown 解析器和 rouge gem 时 语法荧光笔似乎无法在 Jekyll 中工作 引号也不会突出显示和格式化 标记文件 javascript function order words var array words sp
  • 检查变量类型以进行代码分析

    在 Roslyn 代码分析器中检查变量类型的正确方法是什么 我正在注册一个ObjectCreationExpressionSyntax节点和我可以获取类型 但我不确定检查它是否是我关心的类型的正确方法 我找到了一种通过检查显示字符串来做到这
  • 在“onEnter”挂钩中获取状态名称

    我正在构建一个应用程序 我想在用户进入和离开路线时切换服务中的属性 为此 我需要知道该州的名称onEnter and onExit钩子 这对于onExit钩子 因为我可以注入 state服务并读取当前状态的名称 但由于当前状态尚未设置 当o
  • 从 Google Drive 导出 docx 并转换为 base64

    我正在尝试从 Google 云端硬盘导出 DOCX 文件 gapi client drive files export fileId id alt media mimeType mimeType then response gt var f
  • 在 iOS 7 中预加载数据库

    过去 我发布了带有预加载数据库的应用程序 因此用户无需在第一次运行时更新它 我在另一个问题中找到了一些代码 抱歉 不再有链接 我将其添加到我的应用程序代理中persistentStoreCoordinator method NSPersis
  • Hive 查询:匹配字符串数组中的列值以制作标志

    我有一些记录 其中每一行都属于某些类别 数据类型 字符串数组 和一个单独的唯一类别列表 数据类型 字符串 我需要将每一行与唯一的列表相匹配并为其创建标志 Input ID Category 1 Physics Math 2 Math 3 M
  • printf 通过给定的指针和格式字符串。浮动问题

    由于我想跟踪一些变量以便查看它们如何变化 因此我想创建一个函数 该函数根据变量的类型和指向值的指针接收格式字符串 我希望 在格式字符串的帮助下 printf 能够正确确定该值 实际上它是有效的 但有一个例外 浮点值无法正确打印 这是我的代码
  • 如何停止子程序并升起标志?

    I am writing a program in Fortran 95 to be compiled with with gfortran containing a subroutine that performs a certain c
  • PyCharm 聚焦 Python 控制台,用于运行时的输入

    在PyCharm 2018 2 5 社区版 中 我将键盘快捷键绑定到 在控制台中运行文件 此启动会打开控制台并运行文件 但不会将控制台集中进行输入 并且我输入的任何内容都会进入我的代码 有时 当我使用切换器聚焦 Python 控制台时 它会
  • CORS 和 Google 地图地点自动完成 API 调用 [重复]

    这个问题在这里已经有答案了 我正在尝试与 Google 地图地点自动完成 API 进行 Angular 对话 问题是服务器不允许 CORS 调用 它不返回Access Control Allow Originheader 和 JSONP 调