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

如何让Google Maps Geocode返回场所名称?现有代码问题咨询

问题分析与解决方案

首先咱们得明确:Google地理编码API的核心定位是把文本地址解析为地理坐标,重点在地址的标准化匹配,而非专门返回商家/POI的名称信息。这就是为什么你搜索带商家名的地址时,返回的formatted_address只保留了标准化的街道/区域信息,自动去掉了商家名称。

一、能不能从当前地理编码API请求中获取商家名?

有一定概率可以,你可以检查地理编码API的返回响应里的隐藏字段:
在$resp['results']的每个结果对象中,看看是否存在以下内容:

  • 有没有name字段:如果搜索的商家被Google标记为POI,地理编码API可能会返回这个字段,值就是商家名称。
  • 检查address_components的types是否包含establishment或point_of_interest:如果有,对应的long_name/short_name就是商家名。

你可以给代码加一段提取逻辑试试:

foreach($resp['results'] as $res){
    $loc = array(
        "zipcode"=>null,
        "formatted"=>null,
        "business_name" => null // 新增商家名字段
    );
    
    // 优先提取name字段
    if(isset($res['name'])){
        $loc['business_name'] = $res['name'];
    } else {
        // 从地址组件里找商家类型条目
        foreach($res['address_components'] as $comp){
            if(in_array("establishment", $comp['types']) || in_array("point_of_interest", $comp['types'])){
                $loc['business_name'] = $comp['long_name'];
                break;
            }
            // 原有邮编提取逻辑
            if(in_array("postal_code", $comp['types'])) 
                $loc['zipcode'] = $comp['short_name'];
        }
    }
    
    // 原有字段赋值
    $loc['formatted'] = $res['formatted_address'];
    $loc['lng'] = $res['geometry']['location']['lng'];
    $loc['lat'] = $res['geometry']['location']['lat'];
    $return[] = $loc;
}

不过要注意:这种方法不是100%可靠,如果Google没把该商家标记为POI,就不会返回相关字段。

二、如果地理编码API不行,该用什么API?

要稳定获取商家名称,建议改用Google Places API的Text Search接口。这个API专门用于搜索商家、POI,输入带商家名的地址时,会优先返回对应的Place信息,包含完整的商家名称、标准化地址、坐标等。

示例请求URL(替换成你的API Key):

https://maps.googleapis.com/maps/api/place/textsearch/json?key=YOUR_API_KEY&query=ZOOM DIGITAL PRINT UNIT 36 BINLEY IND EST HOTCHKISS WAY COVENTRY CV3 2RL

返回结果里,results数组的每个对象都会有name(商家名)、formatted_address、geometry.location(坐标),完全满足你的需求。你可以修改原有代码,直接替换为Places API的请求逻辑,或者先尝试Places请求,无结果时再 fallback 到地理编码API。

小提醒

你的代码最后返回的是原始API响应$resp,而非你组装好的$return数组,这可能是个小bug,记得修正哦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:42:47