Browse
/browse
Endpointでは、カテゴリおよび名前で項目を 250 km の半径の所定のジオポジションでフィルタリングすることで、構造化された検索を提供します。 返却されたアイテムは、距離を増やしてランク付けされたPlace、Street、またはLocationです。
場所のコンテキストと地理的フィルタ
/browse
は、Searchの中心から最大 250 km の距離でHERE Geocoding and Search インデックスデータを返します。 Searchの中心は、入力クエリ パラメーター at
で指定された地理位置によって定義されます。 アイテムの距離は、このSearchの中心を基準にして計算されます。
Serachの中心周辺の 250km の暗黙的なフィルターに加えて、 /browse
はクエリ パラメーターin
を介して 2 つの追加の地理フィルター をサポートします。
in
パラメータタイプを通る円 circle
in
パラメータタイプによるバウンディング ボックス bbox
in
パラメータタイプを使用した大文字の ISO 3166-1 アルファ -3 国コードのリスト countryCode
HERE Geocoding and Search では、 XEA
国コードのリストと同じ国グループがサポートされています AUT, BEL, BGR, HRV, CYP, CZE, DNK, EST, FIN, FRA, DEU, GRC, HUN, IRL, ITA, LVA, LTU, LUX, MLT, NLD, POL, PRT, ROU, SVK, SVN, ESP, SWE
詳細については 、 API リファレンスを参照してください。
/browse
で、許可されているat
と in
の組み合わせのリスト は次のとおりです。
at
-
at
を使用します in=countryCode
-
at
を使用します in=circle
-
at
in=circle
とを使用します in=countryCode
-
at
を使用します in=bbox
-
at
in=bbox
とを使用します in=countryCode
複数の詳細な場所のカテゴリフィルタ
/browse
により特定の HERE Placesカテゴリまたは HERE Places 料理の特定の位置のPlacesを取得可能。 この場合、クエリーパラメータ categories
と foodTypes
がそれぞれ使用されます。
HERE Places カテゴリは 、次の 3 つのレベルのいずれかでフィールドcategories
の値として指定できます。
- レベル 1 ハイレベル (例:Places
100
飲食店) - レベル 2 中間レベル ( 例 :Places
100-1000
レストラン ) - レベル 3 詳細カテゴリ ( 例 : Places
100-1000-0002
高級料理店(fine dining) )
HERE Places 料理は 、次の 2 つのレベルのいずれかでフィールドfoodTypes
の値として指定できます。
- レベル 1 ハイレベル(例: Places
201
中華料理店 ) - レベル 2 高級料理 ( 例 : Places
201-009
(四川料理を提供するレストラン )
categories
と foodTypes
クエリフィールドの両方で複数の値がサポートされていますが、これらの値はコンマで区切られている必要があります。
例 1.
たとえば、車またはモバイルアプリケーションでは、ガソリンスタンドを表すアイコンが公開され、 クエリー/browse
のパラメータの値categories
としてカテゴリ ID 700-7600-0000,700-7600-0116
が使用されます。
GET https://browse.search.hereapi.com/v1/
browse
?at=47.80049,3.57119
&limit=2
&categories=700-7600-0000,700-7600-0116
&apiKey={YOUR_API_KEY}
このクエリの予想結果は次のとおりです。
{
"items": [
{
"title": "E.Leclerc",
"id": "here:pds:place:250u06xc-0689f131a30149b292741d0abcd19b8e",
"categories": [{ "id": "700-7600-0116", "name": "Stations service", "primary": true }],
"chains": [{ "id": "253", "name": "E. LECLERC" }],
...
},
{
"title": "TOTAL",
"id": "here:pds:place:250u06xc-f9bea569497c4bac907f478cd4d9cb0d",
"categories": [
{ "id": "700-7600-0116", "name": "Stations service", "primary": true },
{ "id": "700-7850-0000", "name": "Garage auto" }
],
"chains": [{ "id": "35", "name": "TOTAL" }],
...
}
]
}
例 2.
観光客用のモバイルアプリケーションでは、次を組み合わせて使用できます
- 歴史的建造物 (
300-3000-0025
)と博物館 (300-3100
) - ショッピングモール (
600-6100-0062
) - 公園(
550-5510-0202
) と観光地 (500-5520
)
イタリアのローマのある場所からの問い合わせは、次のようになります。
GET https://browse.search.hereapi.com/v1/
browse
?at=41.93088,12.46803
&limit=5
&categories=300-3000-0025,300-3100,550-5510-0202,500-5520,600-6100-0062
&apiKey={YOUR_API_KEY}
このクエリの予想結果は次のとおりです。
{
"items": [
{
"title": "Parco Viale Tiziano/ Villaggio Olimpico",
"id": "here:pds:place:380sr2ye-ea05e6b5936b4bf4a03d80f174720d16",
"categories": [{ "id": "550-5510-0202", "name": "Parco pubblico", "primary": true }],
...
},
{
"title": "National Museum of XXI Century Arts",
"id": "here:pds:place:380sr2ye-f1bd96fd9a0547b5ae0bd7761d108d79",
"categories": [{ "id": "300-3100-0000", "name": "Museo", "primary": true }],
...
},
{
"title": "MAXXI National Museum of the 21st Century Arts",
"id": "here:pds:place:380sr2ye-90a6ac5cdadcda549b2824dd4e7ec46e",
"categories": [{ "id": "300-3100-0000", "name": "Museo", "primary": true }],
...
},
{
"title": "Maxxi Museo Nazionale delle Arti del ventunesimo Secolo",
"id": "here:pds:place:380sr2ye-3f8bfb611d1640e88a8577457c00b118",
"categories": [
{ "id": "300-3100-0029", "name": "Museo delle arti", "primary": true },
{ "id": "100-1000-0000", "name": "Ristorante" },
{ "id": "100-1100-0000", "name": "Caffè/Tè" },
{ "id": "300-3000-0000", "name": "Punto di riferimento o attrazione" },
{ "id": "300-3000-0025", "name": "Monumento storico" },
{ "id": "300-3100-0000", "name": "Museo" },
{ "id": "900-9300-0221", "name": "Edificio residenziale" }
],
...
},
...
]
}
例 3.
前の例のモバイルアプリケーションでは、レストランの種類と料理の組み合わせを使用できます。
- ファストフード (
100-1000-0009
) - インド料理またはパキスタン料理 (
202
または 208
)
ロンドンのとある場所からのクエリは次のようになります。
GET https://browse.search.hereapi.com/v1/
browse
?at=51.51979,-0.088
&limit=5
&categories=100-1000-0009
&foodTypes=202,208
&apiKey={YOUR_API_KEY}
このクエリの予想結果は次のとおりです。
{
"items": [
{
"title": "Bema Eats",
"id": "here:pds:place:826gcpvn-e8759ce61546444ba1b026589c68e212",
"distance": 734,
"categories": [{ "id": "100-1000-0009", "name": "Fast Food", "primary": true }],
"foodTypes": [
{ "id": "200-000", "name": "Asian", "primary": true },
{ "id": "102-000", "name": "Mexican" },
{ "id": "202-000", "name": "Indian" },
{ "id": "250-000", "name": "Middle Eastern" },
{ "id": "800-066", "name": "Fusion" }
],
...
},
{
"title": "Tifinbox",
"id": "here:pds:place:826aabd1-e9ad6c1db5e50115cc767baf608af548",
"distance": 851,
"categories": [
{ "id": "100-1000-0000", "name": "Restaurant", "primary": true },
{ "id": "100-1000-0003", "name": "Take Out & Delivery Only" },
{ "id": "100-1000-0009", "name": "Fast Food" },
{ "id": "100-1100-0000", "name": "Coffee/Tea" },
{ "id": "100-1100-0010", "name": "Coffee Shop" }
],
"foodTypes": [
{ "id": "800-064", "name": "International", "primary": true },
{ "id": "200-000", "name": "Asian" },
{ "id": "202-000", "name": "Indian" },
{ "id": "800-050", "name": "Fast Food" }
],
...
},
...
]
}
チェーンフィルター
categories
とfoodTypes
のクエリフィルターに加えて、/browse
Endpointは、 クエリフィルターchains
も提示されます。 HERE チェーン ID の任意の組み合わせを使用して、関連するチェーンの場所を取得できます。
たとえば、自動車メーカーのコンパニオンアプリは、このフィルターcategories=700-7850-0122&chains=299
を使用 して、自動車メーカーのブランドの近くの修理工場のみを取得できます。
除外フィルタリング
/browse
また、特定のカテゴリ、料理、またはチェーンのない場所を取得することもできます。 この場合は、感嘆符 ("") が付きます カテゴリ ID 、キュイジーヌ ID 、またはチェーン ID の前にある必要があります。否定された値と正規の値を同じフィールドに混在させることができます。 否定されたカテゴリは、通常のカテゴリよりも優先されます。
たとえば、ファストフードのレストランを除くすべてのレストランを取得するに categories=100-1000,!100-1000-0009
は、アプリケーションによって [ 参照 ] クエリに追加されます。
名前フィルタ
Locationをフィルタリングする追加の方法 は、フィルタname
を使用することです。 このようなフィルターは、カテゴリフィルターを補完するのに最も便利ですが、単独で使用することもできます。
具体的には、/browse
によって返される各結果には、少なくとも 1 つの名前のフィルタ値name
の各トークンが含まれています。
たとえば、モバイルアプリケーションは、Petrobras ガソリン スタンドを表すアイコンを公開し、カテゴリ ID 700-7600-0000,700-7600-0116
をパラメータ name
の値 categories
として使用し、パラメータを「petrobras」に設定します。
/browse
で name
は、潜在的な発音区別に関係なく、名前トークンも一致することに注意してください。
GET https://browse.search.hereapi.com/v1/
browse
?at=-23.000813,-43.351629
&categories=700-7600-0000,700-7600-0116
&limit=3&lang=en-US
&name=petrobras
&apiKey={YOUR_API_KEY}
このクエリの予想結果は次のとおりです。
{
"items": [
{
"title": "Petrobras",
"id": "here:pds:place:07675cjj-15f8bcd7e0d544758df31a6562d37a30",
"distance": 47,
"categories": [{ "id": "700-7600-0116", "name": "Gas Station", "primary": true }],
"chains": [{ "id": "4017", "name": "Petrobras" }],
"references": [{ "supplier": { "id": "core" }, "id": "1119174661" }],
...
},
{
"title": "Petrobras",
"id": "here:pds:place:07675cjj-b0aa3eaceee44dc1b6d4982adf4a1e1f",
"distance": 1017,
"categories": [{ "id": "700-7600-0116", "name": "Gas Station", "primary": true }],
"chains": [{ "id": "4017", "name": "Petrobras" }],
...
},
{
"title": "Petrobras",
"id": "here:pds:place:07675cjj-fa3ca5d486024e098d2379e3b854a8c6",
"resultType": "place",
"distance": 1690,
"categories": [{ "id": "700-7600-0116", "name": "Gas Station", "primary": true }],
"chains": [{ "id": "4017", "name": "Petrobras" }],
...
}
]
}
言語の設定
/browse
の結果アイテムで優先言語を適用する必要が あるアプリケーションでは、パラメータlang
を必要な BCP 47 言語コードに設定する必要があります。 可能な場合、Endpointは、予想された言語でより詳細なレスポンスアイテムを提示します。 lang
が設定 されていない場合、または結果の項目に要求された言語の翻訳がない場合、デフォルトの言語が使用されます。
周辺地域
/browse
が提供する特別な使用例は、名前やカテゴリのフィルタリングを行わずに、特定の位置で周囲のPlaces、Street、またはLocationを返すことです。
たとえば (41.89296,-87.62283)
、シカゴの 10 の商品を受け取るには、次のように送信します。
GET https://browse.search.hereapi.com/v1/
browse
?at=41.89344,-87.62406
&limit=10
&apiKey={YOUR_API_KEY}
このクエリの予想結果は次のとおりです。
{
"items": [
{
"title": "N Saint Clair St, Chicago, IL 60611, United States",
"id": "here:af:street:lCvTQTfs2eCj2xNrV9W..A",
"resultType": "street",
...
},
{
"title": "Inn of Chicago",
"id": "here:pds:place:840dp3wq-b8a6b34502fe4852a5103fefd87b62ad",
"resultType": "place",
...
},
{
"title": "Inn Bar",
"id": "here:pds:place:840dp3wq-5479400a4b47402492e7d47288f0a3d5",
"resultType": "place",
...
},
{
"title": "USPS Collection Box - Blue Box",
"id": "here:pds:place:840dp3wq-4de5518b40d7cb88d6771dda834104d9",
"resultType": "place",
...
},
...
]
}
1 つ目の結果はStreet、 2 つ目のPlacesなどです
結果に「Places」のみが含まれていることを確認するには、すべてのレベル 1 カテゴリの承認リストが必要です。
GET https://browse.search.hereapi.com/v1/
browse
?at=41.89344,-87.62406
&limit=10
&categories=100,200,300,350,400,500,550,600,700,800,900
&apiKey={YOUR_API_KEY}
ルート沿い
最後になりますが、/browse
は、/autosuggest
、/discover
と同様に、パラメータat
にパラメータroute
を追加することで、ルートに沿った探索をサポートします。詳細については、ルートに沿ったSearchの実装を確認してください。
フィルタリングと 1 つのボックスの比較
/discover
は、送信者 ( 人間 ) の検索リクエストの意図を予測しますが 、/browse
Endpointは、リクエストの機械指向または正確な解釈を行います。
たとえば、「 New York Pizza 」のリクエストを送信すると /discover
、ピザを提供しているニューヨークのレストランの結果が返されます。 一方 /browse
、は「 New York Pizza 」という名前のレストランを返します。
別の例として、ドイツのエンドユーザーは、「Tankstellen」というフレーズを含むガソリン スタンドの検索クエリを作成してEndpoint/discover
に送信し、車載アプリケーションは 関連するカテゴリ ID (ガソリン スタンドの場合は700-7600-0000
)などとともに、Endpoint/browse
にリンクされた事前定義されたカテゴリ検索ショートカットを提案します。
並べ替えも同様に対照的です。Endpoint/discover
の結果は、ほとんどが関連性で並べ替えられますが、 /browse
では、結果は常に距離で並べ替えられます。