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()
現在地のマップをリフレッシュします。