首页 > 解决方案 > 反向地理定位。加载 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 调试器中看到它开始于:

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

这里有什么问题?

标签: geocodingreverse-geocoding

解决方案


由于您在客户端(前端)发出地理编码 Web 服务请求,这就是您收到跨域阻塞错误 (CORB) 的原因。Web 服务请求旨在在服务器端执行。

请注意,如果您打算在客户端使用地理编码,JavaScript API 有一个地理编码服务(它可以防止 CORB 问题)。请参阅本指南:https ://developers.google.com/maps/documentation/javascript/geocoding

希望这可以帮助!


推荐阅读