Function setPoiAnnotationCondition

  • POI注記のコンディションを設定する — 詳細な使用例

    地図タイルに含まれる POI(コンビニ・飲食店・観光スポットなど)の注記アイコンを 表示・非表示・スタイルカスタマイズします。 PoiAnnotationCondition では appearance(カテゴリ別の見た目上書き)を指定できます。 クリックリスナーを設定することで、ユーザーがタップ・クリックしたPOIの情報を取得できます。

    Returns void

    Warning

    • setPoiAnnotationCondition は一度に一条件のみ有効です。再設定すると上書きされます。
    • clearPoiAnnotationCondition で表示を完全に無効化できます。
    • 表示倍率は setPoiAnnotationExpandRatio で別途調整できます(デフォルト 1.0)。
    • クリックリスナーは Condition と独立して設定・解除できます。

    Example: カテゴリ別の見た目を指定して POI 注記を表示する

    import * as GIA from '@ntj/gaia';

    const poiMapper: Record<string, string[]> = {
    // 緑地・自然系カテゴリ(例)
    poi_nature_green_pcmap: ['587595776', '587595777'],
    };

    const appearance: Record<string, GIA.types.PoiAnnotationConditionAppearance[]> = {};

    for (const [name, ntjCodes] of Object.entries(poiMapper)) {
    for (const ntjCode of ntjCodes) {
    appearance[ntjCode] = [
    {
    zoomRange: new GIA.value.ZoomRange(8, 20),
    name,
    // size: 200,
    },
    ];
    }
    }

    map.setPoiAnnotationCondition(
    new GIA.value.PoiAnnotationCondition({
    appearance,
    zoomRange: new GIA.value.ZoomRange(8, 20),
    }),
    );

    // クリックリスナー(latLng / nodeId を受け取る)
    map.setPoiAnnotationClickListener((data) => {
    console.log('POI名称:', data.name);
    console.log('緯度経度:', data.latLng);
    console.log('nodeId:', data.nodeId);
    }, {
    isIconClickable: true,
    isTextClickable: true,
    });

    // アイコン表示倍率を変更(Retinaディスプレイ向けに拡大)
    map.setPoiAnnotationExpandRatio(1.5);

    See