setPoiAnnotationCondition は一度に一条件のみ有効です。再設定すると上書きされます。clearPoiAnnotationCondition で表示を完全に無効化できます。setPoiAnnotationExpandRatio で別途調整できます(デフォルト 1.0)。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);
POI注記のコンディションを設定する — 詳細な使用例
地図タイルに含まれる POI(コンビニ・飲食店・観光スポットなど)の注記アイコンを 表示・非表示・スタイルカスタマイズします。
PoiAnnotationConditionではappearance(カテゴリ別の見た目上書き)を指定できます。 クリックリスナーを設定することで、ユーザーがタップ・クリックしたPOIの情報を取得できます。