geocoding - 反向地理定位。加载 api/geocode 我得到 SyntaxError: Unexpected token ':'。解析错误
问题描述
这是一个单独的script.php,仅用于加载数据。
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>TEST</title>
</head>
<body>
<div id="location">
<script src="https://maps.googleapis.com/maps/api/geocode/json?latlng=42.149247222222,24.752305555556&key=My-enabled-key-here">
</script>
</div>
</body>
</html>
在 Mac Safari 中,我得到了`SyntaxError: Unexpected token ':'。解析错误。
加载了几个数据我在 Safari 调试器中看到它开始于:
但由于该错误消息,我无法使用它。
在 Chrome 和 Opera 中,我使用 MIME 类型应用程序/json 获得跨域读取阻止 (CORB) 阻止跨域响应。阅读我添加的一些旧问题
<?php header('Access-Control-Allow-Origin: http://example.com') ?>
然后替换为
<?php header('Access-Control-Allow-Origin: *') ?>
作为第一行,但没有任何改变。
从谷歌方面:关键限制
-> 应用程序限制:无。
-> API 限制:是(接受 4 个 API 的密钥,其中之一是 Geocoding API
这里有什么问题?
解决方案
由于您在客户端(前端)发出地理编码 Web 服务请求,这就是您收到跨域阻塞错误 (CORB) 的原因。Web 服务请求旨在在服务器端执行。
请注意,如果您打算在客户端使用地理编码,JavaScript API 有一个地理编码服务(它可以防止 CORB 问题)。请参阅本指南:https ://developers.google.com/maps/documentation/javascript/geocoding
希望这可以帮助!
推荐阅读
- python - 当其他列为空时,将列值与上述行连接
- java - 从http服务器响应资源的正确方法
- aspnetboilerplate - ABP无法连接redis缓存
- javascript - Javascript 不跟踪 DOM 更改
- javascript - js concat函数和spread算子合并/插入有什么区别吗?
- c# - 调试和运行时不同的 InvalidOperationException 行为
- google-chrome-extension - 如何收听 Chrome 扩展中点击的网页的警报框
- angular - 从 Angular 8 中的 Observable 获取最后一个值
- javascript - Typeahead afterselect 填充到另一个输入文本
- docker - Openshift 重新部署失败的最新部署配置