本文へスキップ

interface_ILightshipMapView


title: interface ILightshipMapView toc_max_heading_level: 4


interface ILightshipMapView

(Niantic.Lightship.Maps.ILightshipMapView)

概要

このインターフェイスには LightshipMapView のパブリックAPIの全てのメンバーが含まれています。

interface ILightshipMapView {
// プロパティ

LatLng MapOrigin;
LatLng MapCenter;
double MapRadius;
double MapScale;
IReadOnlyDictionary<ulong, IMapTile> ActiveMapTiles;
bool IsMapCenteredAtOrigin;

// イベント

event MapTileAdded();
event MapTileRemoved();
event MapRadiusChanged();
event MapCenterChanged();
event MapOriginChanged();

// メソッド

void OffsetMapCenter(Vector3 offset);
void SetMapCenter(in LatLng latLng);
void SetMapCenter(Vector3 center);
void SetMapRadius(double mapRadius);
void SetViewableArea(in LatLng latLng, double mapRadius);
void SetViewableArea(Vector3 center, double mapRadius);
LatLng SceneToLatLng(Vector3 scenePosition);
Vector3 LatLngToScene(in LatLng location);
Vector3 WebMercator12ToScene(in WebMercator12 location);
double MetersToScene(double meters, double latitude);
double SceneToMeters(double sceneUnits, double latitude);
void SetMapTheme(MapTheme theme);
void RefreshMap();
};

// 直接の派生クラス

class LightshipMapView;

詳細なドキュメント

このインターフェイスには LightshipMapView のパブリックAPIの全てのメンバーが含まれています。

プロパティ

MapOrigin

LatLng MapOrigin

マップで原点として使用するLatLng。 マップの位置は、 MapOrigin の位置に影響を及ぼすことなく、transformによって変更できる点に注意してください。 ただし、マップの中心(MapCenter)とその原点との距離が大きいと精度が下がる原因になるため、マップの変換を直接設定することは推奨されていません。

MapCenter

LatLng MapCenter

マップの表示可能なエリアの中心

MapRadius

double MapRadius

マップの表示可能なエリアの半径(メートル単位)

MapScale

double MapScale

マップのスケール

ActiveMapTiles

IReadOnlyDictionary<ulong, IMapTile> ActiveMapTiles

シーン内のすべてのアクティブなIMapTiles

IsMapCenteredAtOrigin

bool IsMapCenteredAtOrigin

trueの場合、マップは常にシーンの原点が中心になるように配置されます。

イベント

MapTileAdded

event MapTileAdded()

フィーチャービルダーによってすべてのメッシュが生成された後、新しいIMapTileがシーンに追加されたときに発生するイベント。

MapTileRemoved

event MapTileRemoved()

IMapTileが表示されなくなったとき、 IMapTileObject がプールに返る直前に発生するイベント。

MapRadiusChanged

event MapRadiusChanged()

マップの半径が変更されると発生するイベント。

MapCenterChanged

event MapCenterChanged()

マップの中心が変わると発生するイベント。

MapOriginChanged

event MapOriginChanged()

マップがシーンの原点に再配置されると発生するイベント。

メソッド

OffsetMapCenter

void OffsetMapCenter(Vector3 offset)

このメソッドは、マップビューの位置を補正する場合に呼び出されます。

    パラメーター

    offset - Unityの世界空間におけるオフセット。

SetMapCenter

void SetMapCenter(in LatLng latLng)

このメソッドは、マップビューの位置を更新する場合に呼び出されます(デバイスのGPSが変化した場合など)。

    パラメーター

    latLng - マップの中心(緯度経度座標)

SetMapCenter

void SetMapCenter(Vector3 center)

このメソッドは、マップビューの位置を更新する場合に呼び出されます(デバイスのGPSが変化した場合など)。

    パラメーター

    center - Unityの世界空間におけるマップの中心。

SetMapRadius

void SetMapRadius(double mapRadius)

このメソッドは、マップの表示可能な半径を更新する場合に呼び出されます(マップがズームインまたはズームアウトされた場合など)。

    パラメーター

    mapRadius - マップの表示可能な半径(シーン単位)。

SetViewableArea

void SetViewableArea(in LatLng latLng, double mapRadius)

このメソッドは、マップビューの位置と、表示可能な半径を更新する場合に呼び出されます(デバイスのGPSが変化した場合や、マップがズームインまたはズームアウトされた場合など)。

    パラメーター

    latLng - マップの中心(緯度経度座標)

    mapRadius - マップの表示可能な半径(シーン単位)。

SetViewableArea

void SetViewableArea(Vector3 center, double mapRadius)

このメソッドは、マップビューの位置と、表示可能な半径を更新する場合に呼び出されます(デバイスのGPSが変化した場合や、マップがズームインまたはズームアウトされた場合など)。

    パラメーター

    center - Unityの世界空間におけるマップの中心。

    mapRadius - マップの表示可能な半径(シーン単位)。

SceneToLatLng

LatLng SceneToLatLng(Vector3 scenePosition)

Unityのワールド空間の位置をLatLng座標の位置に変換します。

    パラメーター

    scenePosition - 変換する位置。

    次の値が返ります。

    この場所の緯度/経度座標のセット。

LatLngToScene

Vector3 LatLngToScene(in LatLng location)

LatLng座標の位置をUnityのワールド空間の位置に変換します。

    パラメーター

    location - 変換する位置。

    次の値が返ります。

    ワールド空間の位置。

WebMercator12ToScene

Vector3 WebMercator12ToScene(in WebMercator12 location)

WebMercator12座標の位置をUnityのワールド空間の位置に変換します。

    パラメーター

    location - 変換する位置。

    次の値が返ります。

    ワールド空間の位置。

MetersToScene

double MetersToScene(double meters, double latitude)

現実世界のメートル単位の距離をUnityのシーン単位に変換します。 なお、このマップでWebメルカトル投影法が使用されているため、ここでは緯度が必要です。そのため、両極に近づくほど伸びることになります。

    パラメーター

    meters - 変換する距離(メートル単位)。

    latitude - 変換が適用される位置の緯度。 この場合は、マップの原点の緯度が適切な値だと考えられます。

    次の値が返ります。

    距離(Unityのシーン単位)

SceneToMeters

double SceneToMeters(double sceneUnits, double latitude)

Unityのシーン単位での距離を現実世界のメートルに変換します。 なお、このマップでWebメルカトル投影法が使用されているため、ここでは緯度が必要です。そのため、両極に近づくほど伸びることになります。

    パラメーター

    sceneUnits - 変換する距離(Unityのシーン単位)

    latitude - 変換が適用される位置の緯度。 この場合は、マップの原点の緯度が適切な値だと考えられます。

    次の値が返ります。

    距離(メートル単位)

SetMapTheme

void SetMapTheme(MapTheme theme)

現在のマップテーマを設定する

    パラメーター

    テーマ -

RefreshMap

void RefreshMap()

現在地のマップをリフレッシュします。