【问题标题】:GeoCoder returns different long/lat identifier for geometry-location valueGeoCoder 为几何位置值返回不同的长/纬度标识符
【发布时间】:2012-03-28 08:24:17
【问题描述】:

自昨天以来,Google Geocoder 的 GeoResult 似乎为几何位置值重新调整了不同的标识符标签。过去,他们在类似 JSON 的结果对象中使用 Va/Ua 标识符作为 long/lat 值。经度标识符昨天从 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 端而不是在 Objectiv-C 中评估整个 Geocoder 结果。对我来说很难过,但我认为坚持 JavaScript API 而不是原始结果更安全。 :-(

感谢您的回答!!!

【问题讨论】:

  • 这对我来说听起来好像您正在请求为 JS-API 而不使用 JS-API 交付的结果。这是不合法的。
  • 我们又来了。 ;-) 现在我们正在讨论 JS-API。很高兴知道这是不合法的,我只是试图在 google api doc 网站上找到一些关于此的附加信息,但没有成功。你能提供一个链接吗?尽管如此,我将更改我的代码,以便从现在开始将整个地理编码过程坚持到 JS-API。但看到内部 JSON 格式的地理编码结果会随着一些对象标识符不时发生变化,这仍然很有趣。问候。

标签: objective-c google-maps-api-3 google-geocoder


【解决方案1】:

尝试调用 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 项目,该项目遇到了同样的问题。

【讨论】:

  • 为我工作。我也遇到了同样的问题。
  • 你是对的,但在我的情况下,我将整个结果返回到我的 Objective-C 代码,并且不再能够访问 JavaScript API。所以我现在必须更改双方的代码。尽管如此,最好现在更改代码并坚持使用 JavaScript API 作为市场上的失败软件。 ;-)
  • 谢谢,这对我也有用。您是如何知道 lat() lng() 方法的?我没有在地理编码器或几何库页面上找到任何提及。
【解决方案2】:

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

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

元素是 lat 和 lng,仅此而已。

【讨论】:

  • 抱歉回复晚了......在我的例子中,我将谷歌地理编码器的整个结果对象发送到我的 Objective-C 代码并在那里解析它。在该 JSON 对象内部,他们像这样指定几何:geometry = { location = { Xa = "52.49833";雅 = "13.295769999999948"; };
  • 请问您发送请求的 URL 是什么?
  • 在我的例子中没有真正的 URL。如果我没听错的话,你说的是 Maps API WebServices,不是吗?我没有使用基于 URL 请求的静态 GeoCoding API,而是使用 JavaScript Geocoding API。
猜你喜欢
  • 2017-05-11
  • 2011-08-24
  • 1970-01-01
  • 2015-07-19
  • 2011-11-29
  • 2021-12-06
  • 2018-01-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多