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

时间:2012-03-28 08:24:18

标签: 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代码并在那里解析它。

此致


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

感谢您的回答!!!

2 个答案:

答案 0 :(得分:8)

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

而不是

var lat = results[0].geometry.location.Ua;
var long = results[0].geometry.location.Va;

使用

var lat = results[0].geometry.location.lat();
var long = results[0].geometry.location.lng();

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

答案 1 :(得分:0)

我不确定你在说什么,但是JSON响应只返回了这里定义的元素:https://developers.google.com/maps/documentation/geocoding/?hl=de#JSON

没有Va,Ua,Ta或类似物。

元素是lat和lng,没有别的。