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

SwiftUI集成Google Places自动补全 经纬度恒为-180如何解决

问题根因

Google Places 自动补全组件遵循按需返回字段规则,你当前配置的请求字段仅包含地点名称(name)和地点ID(placeID),未声明需要获取坐标信息,接口不会拉取经纬度数据,未赋值的coordinate属性会返回默认无效值-180,-180。

修复方法

在PlacePicker的makeUIViewController方法中,修改placeFields配置,将坐标字段GMSPlaceField.coordinate加入请求字段集合即可。
修正后的字段配置代码:

let fields: GMSPlaceField = GMSPlaceField(
    rawValue: UInt(GMSPlaceField.name.rawValue) |
              UInt(GMSPlaceField.placeID.rawValue) |
              UInt(GMSPlaceField.coordinate.rawValue) // 新增坐标字段请求
)
autocompleteController.placeFields = fields

如果后续需要获取完整格式化地址、行政区划、联系电话等其他地点信息,按照相同格式将对应GMSPlaceField枚举值加入位运算集合即可。
修改完成后重新运行,选中地点后即可获取到真实有效的经纬度数值。

注:Google Places 接口会根据你请求的字段类型计算调用资费,仅申请业务需要的字段可以控制使用成本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 03:27:24