GeoCoder为geometry-location值返回不同的long/lat标识符

Ala*_*ink 1 objective-c google-maps-api-3 google-geocoder

从昨天开始,Google Geocoder的GeoResult似乎为几何位置值重新标记了不同的标识符标记.在过去,他们使用long/lat值来表示他们的JSON中的Va/Ua标识符,如结果对象.经度标识符昨天从Va改为Ta.这对于任何Google请求结果都是常见的,该标识符会随着时间而改变吗?如果是这种情况,Google如何通知开发人员此类API更改?

在我的代码(Objective-C)中,我将借助JSON解析器解析这些标识符,以接收当前的long/lat值.因此,我必须坚持使用当前使用的这种标识符的表示法,因为JSON对象将被转换为数组或字典,后面的字典导航将通过例如[locationResult objectForKey:@"Va"]调用完成.

使用Google JavaScript API获得任何其他体验.否则,我必须在JavaScript中检查long/lat结果,然后将最终结果返回给我的Objective-C代码.但我仍然会优先选择将整个JSON结果对象返回到Objective-C代码并在那里解析它的方法.

问候


我将用我最新的调查更新我自己的问题:Google将频繁更改JSON对象的内部格式,今天他们再次更改它.因此,我必须通过在JSON解析器的帮助下解析结果来评估JavaScript方面的整个Geocoder结果,而不是Objectiv-C中的结果.对我来说很难过,但我认为坚持使用JavaScript API而不是原始结果会更安全.:-(

谢谢你的答案!

wno*_*ann 8

尝试调用lat()和lng()函数来获取存储在geometry.location对象中的值.

代替

var lat = results[0].geometry.location.Ua;
var long = results[0].geometry.location.Va;
Run Code Online (Sandbox Code Playgroud)

使用

var lat = results[0].geometry.location.lat();
var long = results[0].geometry.location.lng();
Run Code Online (Sandbox Code Playgroud)

这就是我正在使用的javascript项目遭遇同样的问题.