我試圖確保文本搜索的結果只有英國或愛爾蘭。我的地方REST請求如下所示:Yahoo GeoPlanet - 查找指定國家或地方的地方
http://where.yahooapis.com/v1/places.q('Belfast')?format=json&appid=MyAppIdGoesHere
有沒有我可以指定國家或WOEID結果必須在URL的另一個參數?
我試圖確保文本搜索的結果只有英國或愛爾蘭。我的地方REST請求如下所示:Yahoo GeoPlanet - 查找指定國家或地方的地方
http://where.yahooapis.com/v1/places.q('Belfast')?format=json&appid=MyAppIdGoesHere
有沒有我可以指定國家或WOEID結果必須在URL的另一個參數?
我不認爲有一種方法可以在GeoPlanet Web服務調用中添加該特性。支持Filters,其中包括$and
過濾器,它允許您將兩個過濾器組合在一起,但看起來不存在可以直接滿足您的請求的組合。
作爲替代方案,您可以調用API,然後過濾結果以僅在匹配的國家/地區中保留這些結果。
例如,以下是搜索「貝爾法斯特」的結果的一部分。檢索這些結果後,你可以只保留那些國家GB =地方:
<place xmlns="http://where.yahooapis.com/v1/schema.rng"
xml:lang="en-GB" yahoo:uri="http://where.yahooapis.com/v1/place/44544">
<woeid>44544</woeid>
<placeTypeName code="7">Town</placeTypeName>
<name>Belfast</name>
<country code="GB" type="Country" woeid="23424975">United Kingdom</country>
<admin1 code="GB-NIR" type="Country" woeid="20070563">Northern Ireland</admin1>
<admin2 code="GB-BFS" type="County" woeid="20071112">Belfast</admin2>
<admin3 code="" type="Local Administrative Area" woeid="20078326">Belfast</admin3>
<locality1 type="Town" woeid="44544">Belfast</locality1>
</place>
<place xmlns="http://where.yahooapis.com/v1/schema.rng"
xml:lang="en-GB" yahoo:uri="http://where.yahooapis.com/v1/place/2361609">
<woeid>2361609</woeid>
<placeTypeName code="7">Town</placeTypeName>
<name>Belfast</name>
<country code="US" type="Country" woeid="23424977">United States</country>
<admin1 code="US-ME" type="State" woeid="2347578">Maine</admin1>
<admin2 code="" type="County" woeid="12588673">Waldo</admin2>
<admin3/>
<locality1 type="Town" woeid="2361609">Belfast</locality1>
</place>
<place xmlns="http://where.yahooapis.com/v1/schema.rng"
xml:lang="en-GB" yahoo:uri="http://where.yahooapis.com/v1/place/2348154">
<woeid>2348154</woeid>
<placeTypeName code="7">Town</placeTypeName>
<name>Belfast</name>
<country code="NZ" type="Country" woeid="23424916">New Zealand</country>
<admin1 code="NZ-CAN" type="Region" woeid="15021751">Canterbury</admin1>
<admin2 code="" type="County" woeid="55875854">Christchurch City</admin2>
<admin3/>
<locality1 type="Town" woeid="2348154">Belfast</locality1>
</place>
<place xmlns="http://where.yahooapis.com/v1/schema.rng"
xml:lang="en-GB" yahoo:uri="http://where.yahooapis.com/v1/place/2361600">
<woeid>2361600</woeid>
<placeTypeName code="7">Town</placeTypeName>
<name>Belfast</name>
<country code="US" type="Country" woeid="23424977">United States</country>
<admin1 code="US-NY" type="State" woeid="2347591">New York</admin1>
<admin2 code="" type="County" woeid="12589313">Allegany</admin2>
<admin3/>
<locality1 type="Town" woeid="2361600">Belfast</locality1>
</place>
這可以通過使用$and
運營商作爲過濾器成爲可能。請注意,$and
運營商可以結合使用兩種不同的過濾器,在您的情況下,您希望在指定的地方(英國或愛爾蘭)進行文本搜索。對於您可以使用.woeid
和.q
過濾器,像這樣:
http://where.yahooapis.com/v1/places$and(.woeid(23424975),.q('Belfast'))?format=json&appid=YourAppIdGoesHere
,其中,在這個例子中,數值23424975
是英國WOEID。