所以我有这个lat / lng对,39.905983 / 116.459373。永远,PlaceFinder API已经为此返回了WOE ID 2151399。然后它突然停了下来,开始返回null(空)。
我想也许该服务记得它已经为我的API密钥做了这个,所以我切换到另一个。仍然是null WOE ID。这是有道理的,因为它仍在处理其他lat / lng对,我在开发过程中也过度查询过。
我将发送到PlaceFinder查询的值更改为39.9059830001 / 116.4593730001(仅在每个末尾添加0001),然后它再次开始返回WOE ID。
我的问题:什么给出了?
答案 0 :(得分:1)
我通过YQL控制台使用PlaceFinder尝试了相同的查询:
select woeid from geo.placefinder where text="39.905983,116.459373" and gflags="R"
...并获得您提到的相同的WOEID结果:
<?xml version="1.0" encoding="UTF-8"?>
<query xmlns:yahoo="http://www.yahooapis.com/v1/base.rng"
yahoo:count="1" yahoo:created="2012-03-20T16:24:40Z" yahoo:lang="en-US">
<results>
<Result>
<woeid>2151399</woeid>
</Result>
</results>
</query>
我没有看到你提到的行为,所以我认为这不正常。在返回空值的情况下,您是否拥有正常的HTTP状态代码?您可能正在遇到速率限制。