メタ情報タイル
メタ情報タイルは、特定のタイルについてのメタデータ情報を取得するために使用されます。 このメタデータは、対話機能を有効にしたり、タイルでレンダリングされたラベルまたはオブジェクトに関する情報を取得したりするなど、さまざまな方法で使用できます。
例1 : 次の手順を使用して、ラベルの位置に応じてマップ タイルをカスタマイズします。
maptile
特定の場所のを取得します- そのタイルのメタデータを要求します
- ラベルの位置に応じて、クライアント側の特定のラベルを強調表示します
例 2 : 次の手順に従って、タイルの上にクリック可能な道路標識のみを表示します。
- リクエスト A
basetile
mgen=2
およびfilter=1
を使用して、 道路標識をフィルタリングして除去したもののみを取得するように、同じ場所でメタデータマップ タイルを要求する- メタデータリクエストによって返された道路標識のアイコンを重ねて表示します
注 :
satellite
terrain
hybrid
すべて traffic
のリクエストおよび flow
リクエストのトラフィックベース URL およびその他 のリクエストのマップベース URL には、すべてのトラフィックベース URL およびスキームを使用します。 メタ情報タイルでのメタデータパラメーターの使用
metainfo
タイルに関連するパラメーターは次のとおりです。
-
callback_func
: このパラメータを使用して、 JavaScript コンポーネントが応答を受信した後にコールバック関数を実行するように要求します。結果を含む JSON オブジェクトがこの関数に渡されます。 -
mgen
: このパラメータを使用して、メタデータのバージョンと、これらのバージョンの機能を区別します。 のバージョン 2mgen
は、道路標識アイコンの URI を返します。 -
filter
:mgen
このパラメータは、バージョン 2 ののみで使用し、結果のメタ情報タイルからメタデータをフィルタリングアウトします。 この方法では、小さい JSON オブジェクトを転送できます。そのため、関連する情報のみを転送できます。 -
metadata
: このパラメータを使用して、メタデータ情報の出力をイネーブルにします。 イメージとメタデータのどちらが必要かに応じて、metatile
またはmetaonly
を選択します。 -
output
: このパラメータを使用して、 base64 でエンコードされた値を生成 します。この値は、パラメータrange
を使用して 1 つの要求で複数のタイルを要求する場合、またはcallback_func
の入力として使用するようにタイルを要求する場合に役立ちます。 -
range
: このパラメータを使用して、 1 つのリクエストで複数のタイルをリクエストします。 列 x の行で指定されたタイルは、配列の左上にあり、配列のサイズで除算する必要があります。
これらのパラメータを組み合わせて、複雑で高度にカスタマイズ可能なリクエストを作成できます。次に例を示します。
https://2.base.maps.ls.hereapi.com/maptile/2.1/maptile/newest/normal.day/14/8799/5376/256/png8
?apiKey={YOUR_API_KEY}
&metadata=metatile
&mgen=2
&filter=1
&range=3x3
&callback_func=parse_image
注 : この例 では、 HERE API キー を使用してリクエストを認証します。 使用可能な認証オプションについて は、『 Identity & Access Management 開発者ガイド』を参照してください。
このリクエストの結果、次のような JSON オブジェクトが作成されます。
range
は 3x3 なので、 9 つのタイルがありますmetadata
IS 以降、メタデータおよび base64 でエンコードされたイメージを含むタイルがありますmetatile
- は
mgen
2 であるため、フィルタリング付きのバージョン 2 メタデータ情報を持ちます - IS
filter
1 であるため、道路標識のみを表示するようにフィルタリングが有効になっています - 応答を受信したときに呼び出される関数
parse_image
を示します。callback_func
なぜなら、 IS であるからですparse_image
以下に回答を示します。 読みやすいように短縮されています。
parse_image(
[
{
"image": "iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAMAAABrrFhUAAADAFBMVEUwMC6 ...",
"metadata" : {
"labels":[
{
"name":"103",
"type": "ROADSIGN",
"bounding boxes": [
{
"left":62,
"top":198,
"width":28,
"height":20
}
],
"region": "DEU",
"category": 0,
"route name": "A103",
"route level": 2,
"uri": "http://image.maps.ls.hereapi.com/mia/1.6/roadsign?category=0®ion=DEU&label=A103&route_level=2&apiKey={YOUR_API_KEY}"
},
{
"name":"100",
"type": "ROADSIGN",
"bounding boxes": [
{
"left":212,
"top":163,
"width":28,
"height":20
}
],
"region": "DEU",
"category": 0,
"route name": "A100",
"route level": 2,
"uri": "http://image.maps.ls.hereapi.com/mia/1.6/roadsign?category=0®ion=DEU&label=A100&route_level=2&apiKey={YOUR_API_KEY}"
},
{
"name":"1",
"type": "ROADSIGN",
"bounding boxes": [
{
"left":188,
"top":73,
"width":22,
"height":15
}
],
"region": "DEU",
"category": 1,
"route name": "B1",
"route level": 3,
"uri": "http://image.maps.ls.hereapi.com/mia/1.6/roadsign?category=1®ion=DEU&label=B1&route_level=3&apiKey={YOUR_API_KEY}"
},
]
}
},
... (5 more tiles)
] );
callback_func
パラメータが指定されている場合、応答に callback_id
はその最初のパラメータとしてが含まれます。 この値を使用して、受信した応答が正しいかどうかを確認できます。 例 : callback_id=1425
戻り値 :
test( '1425', '{ ...}' );
注 : 値は URL エンコードされていますが、要求元が JavaScript の正しい値を提供するのはこの役割です。