Google 地图 API 在实时服务器上正常运行,但在本地主机上运行时无法返回值。
(控制器页面:)
// Make a request to the Google Maps Geocoding API
$response = $geoclient->request('GET', 'https://maps.googleapis.com/maps/api/geocode/json', [
'query' => [
'address' => $address,
'key' => $api_key,
]
]);
$data = json_decode($response->getBody(), true);
dd($data);
(实时服务器和本地主机的结果不同:) 不同结果截图
Google 地图 API 在本地主机和实时服务器上均正常运行。该项目闲置几天后,它在本地主机上停止工作,但在实时服务器上仍然运行良好。
您面临的问题是在本地主机上使用 Google Maps API 时的常见问题。以下是它可能不起作用的原因以及修复方法:
原因:API 密钥受限
默认情况下,Google 地图 API 密钥通常会限制对特定域(例如您的实时服务器 URL)的访问。这可以防止未经授权使用 API。
注册localhost:通过注册localhost就可以轻松解决
转到 Google Cloud Console 并导航到您项目的 API 库。 找到 Google Maps Javascript API 并确保其已启用。 在“凭据”部分中,找到您的 API 密钥。 单击“限制”,然后在“API 限制”下选择“无”或添加“localhost:端口号”(将“端口号”替换为您的开发端口,例如 localhost:8080)。
其他提示:
清除浏览器缓存:有时缓存的数据可能会产生干扰。清除浏览器缓存并重试。 检查 API 密钥:仔细检查您在代码中使用的 API 密钥是否正确,并且是否已启用所需的服务(例如地理编码 API)。 错误消息:打开浏览器的开发者控制台(通常使用 F12)并查找与 Google Maps API 相关的错误消息。 这些可以提供有关该问题的更具体的线索。我希望这有效!