有効な屋内地図コレクション HERE リソースネーム の有無にかかわらず、インスタンスを作成するには 2 つの方法があります。
コレクション HERE リソースネーム を使用せずにサービスのインスタンスを作成しています
HERE リソースネーム が指定されていない場合は、有効な OAuth トークン 値を設定する必要が H.venues.Service2 あります。設定されていない場合、は動作しません。 このリンクには、 HERE platform で有効な OAuth トークンを取得する方法の詳細が含まれています。
// Get instance of the Indoor Maps service// The second parameter 'opt_version' signifies the venues version. // 2 = latest venue service, 1 = legacy serviceconst venuesService = platform.getVenuesService({token:"Platform token"},2);
コレクション HERE リソースネーム を使用してサービスのインスタンスを作成しています
有効な HERE リソースネーム 値を設定する必要が H.venues.Service2 あります。設定しないと、は動作しません。 このリンクには、プロジェクトの有効な HERE リソースネーム 文字列を取得する方法についての詳細情報が含まれています。 HERE リソースネーム が提供されている場合は、さらに HERE platform の API キーまたはトークン が必要です。
// Get instance of the Indoor Maps service// The second parameter 'opt_version' signifies the venues version. // 2 = latest venue service, 1 = legacy serviceconst venuesService = platform.getVenuesService({apikey:'API KEY',hrn:'Platform hrn for indoor maps catalog'},2);
利用可能なすべての屋内地図のリストを取得しています
H.venues.Service2 このオブジェクトは getMapInfoList 、メソッドを通して屋内地図情報リストを提供します。 この機能は、指定された HERE リソースネーム から利用可能な屋内地図のリストを取得します。
// Get a list of indoor maps
venuesService.getMapInfoList().then((res)=>{
console.log("Indoor Maps: ", res)}).catch((e)=>{
console.error("Error when fetching map list", e)})
// Indoor Maps provider interacts with a tile layer to visualize and control the Indoor Mapconst venuesProvider =newH.venues.Provider();// Indoor Maps service provides a loadVenue method
venuesService.loadVenue(VENUE_ID).then((venue)=>{// add Indoor Map to the venues provider
venuesProvider.addVenue(venue);
venuesProvider.setActiveVenue(venue);// create a tile layer for the Indoor Maps provider
map.addLayer(newH.map.layer.TileLayer(venuesProvider));// center the map on the Indoor Map
map.setCenter(venue.getCenter());
map.setZoom(15);});
// Get active Indoor Mapconst venue = venuesProvider.getActiveVenue();// get current level index
venue.getActiveLevelIndex();// and change level
venue.setActiveLevelIndex(1);
// This is an option to override label preference. // If both space name and address are available for a given space, they will take priority over the rest of labels, in the given order.const labelTextPreferenceOverride =[H.venues.Service2.LABEL_TEXT_PREFERENCE_OVERRIDE.SPACE_NAME,H.venues.Service2.LABEL_TEXT_PREFERENCE_OVERRIDE.INTERNAL_ADDRESS]// Indoor Maps service provides a loadVenue method
venuesService.loadVenue(VENUE_ID,{ labelTextPreferenceOverride }).then((venue)=>{// add Indoor Map to the venues provider
venuesProvider.addVenue(venue);
venuesProvider.setActiveVenue(venue);// create a tile layer for the Indoor Maps provider
map.addLayer(newH.map.layer.TileLayer(venuesProvider));});
// Get the active Indoor Mapconst venue = venuesProvider.getActiveVenue();// Create the level controlconst levelControl =newH.venues.ui.LevelControl(venue);
ui.addControl('level-control', levelControl);// Create the drawing control:const drawingControl =newH.venues.ui.DrawingControl(venue);
ui.addControl('drawing-control', drawingControl);
HERE Indoor Map オブジェクト
HERE Indoor Map データは、オブジェクトの階層にカプセル化されます。 これらのオブジェクトは他の MapObjectと同じように動作し、次のクラスで表されます。