テキスト検索の結果が英国またはアイルランドのみであることを確認しようとしています。私の場所のRESTリクエストは次のようになります。
http://where.yahooapis.com/v1/places.q('Belfast')?format=json&appid=MyAppIdGoesHere
国を指定したり、結果が含まれている必要があるURLに別のパラメーターはありますか?
テキスト検索の結果が英国またはアイルランドのみであることを確認しようとしています。私の場所のRESTリクエストは次のようになります。
http://where.yahooapis.com/v1/places.q('Belfast')?format=json&appid=MyAppIdGoesHere
国を指定したり、結果が含まれている必要があるURLに別のパラメーターはありますか?
GeoPlanetWebサービス呼び出し内にその特異性を追加する方法はないと思います。2つのフィルターを組み合わせることができるフィルターを含む、フィルターのサポートがあり$and
ますが、要求を直接満たす組み合わせが存在するようには見えません。
別の方法として、API呼び出しを行い、結果をフィルタリングして、一致する国でそれらの結果のみを保持することもできます。
たとえば、以下は「ベルファスト」の検索結果の一部です。これらの結果を取得した後、country=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
オペレーターは2つの異なるフィルターを組み合わせることができることに注意してください。これは、指定された場所(英国またはアイルランド)内でテキスト検索を実行する場合です。そのためには、次.woeid
のようにと.q
フィルターを使用できます。
http://where.yahooapis.com/v1/places$and(.woeid(23424975),.q('Belfast'))?format=json&appid=YourAppIdGoesHere
ここで、この例では、数値は英国23424975
の悲惨なものです。