HERE Map Tile v2 開発者ガイド

POI をカテゴリでフィルタリングします

HERE Map Tile v2 には 、 地図上の POI を表示または非表示にするために使用できる POI カテゴリリソースが用意されています。

一般的なユースケースとは、ユーザーが特定のカテゴリのみを表示する場合、または使用可能なカテゴリのサブセットのみを表示する場合です。 たとえば、 Berlin ユーザーが、有名なを表示する中央の特定の場所を表示したい Brandenburg Gateとします。

注 : これらの例 では、 HERE API キー を使用して要求を認証します。 使用可能な認証オプションについて は、『 Identity & Access Management 開発者ガイド』を参照してください。
まず、次のようにマップ タイルをリクエストします。
https://2.base.maps.ls.hereapi.com/maptile/2.1/maptile/newest/normal.day/19/431659/198648/256/png8
?apiKey={YOUR_API_KEY}

応答は次のタイルです。
図 1. ブランデンブルグ門のあるベルリンの中心部に位置するホテル

ユーザーがタイルが期待どおりであることを確認すると metadata 、ユーザーはタイルの情報を要求して、 POI がどのカテゴリにあるかを判断します。
https://2.base.maps.ls.hereapi.com/maptile/2.1/maptile/newest/normal.day/19/431659/198648/256/png8
?apiKey={YOUR_API_KEY}
&pois
&mgen=2
&metadata=metaonly
応答は、タイルの JSON に関する情報を含む POI オブジェクトです。
{
  "metadata" : {
    "street labels":[ { "name":"Pariser Platz", "font size":"13", "vertices": 
    [ 168.73, 138.98, 204.18, 134.84, 215.62, 133.47, 243.81, 131.50 ] } ],
    
    "labels":[],
    "city center labels":[],
    "buildings":[
       {
          "id": "1609370975087560592", "sectors": [
             {
              "info": { "bottom height": 0, "height": 8 }, 
              "vertices": [ 8.44, 0, 10, 13.56, 110.66, 0 ], 
              "polygons": [ [ 0, 1, 2]], 
              "outlines": [ [ 2, 1, 0 ]] }, 
              {
                 "info":
                 {
                   "bottom height": 0, "height": 19.875 }, 
                   "vertices": [ 160, 220.62, 148, 115.44, 10, 13.56, 0, 13.56, 0, 48.62, 23.66, 256, 163.83, 256, 
                   110.66, 0, 132.39, 0, 158, 112.19, 144.72, 0, 168, 220.62, 172.31, 256, 0, 48.62 ], 
                   "polygons": [ [ 0, 1, 2, 3, 4, 5, 6], [ 7, 2, 1, 8], [ 8, 1, 9, 10], [ 11, 0, 6, 12]], 
                   "outlines": [ [ 5, 13 ], [ 3, 2, 7 ], [ 10, 9, 1, 0, 11, 12 ]] } ] } ],
                   "transit stops":[  ],
                   
                   "POIs":[
                      {
                         "name":"Brandenburg Gate",
                         "geoposition":
                         {
                           "latitude":52.516279, "longitude":13.377700
                         },
                         "bounding boxes":[
                           {
                             "icon box":[ 89, 177.50, 14, 14 ]
                           },
                           {
                             "annotation box":[ 53.55, 165.50, 84.91, 10.50 ] 
                           }
                           ],
                           "info": [
                             {
                               "PLACE NAME":"Brandenburg Gate", 
                               "PLACE CATEGORY":"Historical Monument", 
                               "PLACE ID":"800842663"
                             }
                          ]
                      }
                  ]
      }
}
  

その結果、ブランデンブルク門 Historical Monument がそのカテゴリになっていることがわかりました。 /meta/pois リソースを参照し Historical Monument て、ユーザーがカテゴリを表示するフィルタを作成します。 結果として生じるリクエストは次のとおりです。
https://2.base.maps.ls.hereapi.com/maptile/2.1/maptile/newest/normal.day/20/563253/343903/256/png8
?apiKey={YOUR_API_KEY}
&pois=000000001

この応答は、ブランデンブルク門のアイコンが含まれている次の画像です。
図 2. フィルタリングされた POI カテゴリを示すベルリンの中心

/meta/POIs リソースを使用しています

/meta/pois リソースを使用して、 API がサポートするすべてのカテゴリの最新のリストを取得します。 地図に含まれている POI カテゴリのマスクとしてパラメーターを指定します。 16 進数で記述された各シンボルは、 0 ~ 3 ~ 386 ~ 389 の 4 つの POI カテゴリを表します。 マスクは、次のいずれかの方法で使用できます。

  • すべてのカテゴリを有効にする ( 既定の動作 ) – pois=0
  • すべてのカテゴリを無効にします– pois=F
  • POI に存在するカテゴリを有効にし、他のカテゴリを無効にします pois=F
  • POI に存在しないカテゴリを有効化し、他のカテゴリを無効化します pois=!F
  • 値をマスクとして指定して、カテゴリをカスタマイズします pois=123.....F