You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

客户端JavaScript调用Google Places API获取商家评分遇跨域问题

解决Google商家评分跨域问题并插入到Div的简单实现

错误翻译

跨源请求被阻止:同源策略不允许读取外部资源。

问题原因

Google Places REST接口不支持浏览器端直接跨域请求,前端直接用fetch调用会触发同源策略限制。

最简单实现方案(用官方Maps JavaScript API)

步骤1:引入官方脚本

在HTML的<head>或<body>末尾添加(替换为你的API Key):

<script src="https://maps.googleapis.com/maps/api/js?key=你的API_KEY&libraries=places"></script>

步骤2:添加评分显示容器

在页面需要显示评分的位置插入:

<div id="rating-container"></div>

步骤3:编写获取评分的JS逻辑

const placeId = '你的商家Place ID';
const ratingContainer = document.getElementById('rating-container');

// 初始化Places服务(用隐藏容器,无需显示地图)
const service = new google.maps.places.PlacesService(document.createElement('div'));

// 请求商家评分数据
service.getDetails({
  placeId: placeId,
  fields: ['rating']
}, (place, status) => {
  if (status === google.maps.places.PlacesServiceStatus.OK) {
    // 将评分插入容器,可自定义样式
    ratingContainer.innerHTML = `<strong>商家评分:${place.rating}/5</strong>`;
  } else {
    console.error('获取评分失败:', status);
    ratingContainer.textContent = '无法获取商家评分';
  }
});

注意事项

  • 确保你的API Key已启用「Places API」权限
  • 建议给API Key设置域名绑定限制,避免被滥用

内容的提问来源于stack exchange,提问作者public9nf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 22:42:52