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

Google Places Autocomplete返回geometry.bounds键名动态变化问题咨询

关于Google Places Autocomplete返回bounds对象字段名动态变化的说明

键名变动的原因

你看到的Ba、Ab、Ra、g、h这类命名无规律的属性,是Google Maps JavaScript SDK编译阶段代码混淆生成的内部私有属性,本身就不属于对外公开的API范畴。Google每次发布SDK的更新版本时,都会重新执行混淆逻辑,内部属性的命名会随机变化,官方也不会提供任何关于这些私有属性的说明文档,因为从设计上就不允许开发者直接访问这类内部属性。

正确获取bounds经纬度的方式

geometry.bounds是Google官方公开的LatLngBounds类的实例,你只需要调用该类对外暴露的固定方法即可安全获取坐标,不会受版本更新影响:

  • 调用getSouthWest()方法获取边界的西南角坐标点(LatLng实例)
  • 调用getNorthEast()方法获取边界的东北角坐标点(LatLng实例)
  • 对LatLng实例调用lat()方法获取纬度,调用lng()方法获取经度

修正后的代码示例如下:

import PlacesAutocomplete, { geocodeByAddress } from 'react-places-autocomplete'

const GooglePlacesSearchBar = () => {

  const handleSelect = async userInput => {
    const result = await geocodeByAddress(userInput)
    const { place_id, geometry, formatted_address } = result[0]
    const { bounds } = geometry

    // 替换原直接访问内部属性的写法,使用官方公开方法
    const sw = bounds.getSouthWest()
    const ne = bounds.getNorthEast()
    const swBounds = [sw.lat(), sw.lng()]
    const neBounds = [ne.lat(), ne.lng()]
    // 后续逻辑保持不变
    ...

  }

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 03:24:01