GMSMapView クラス リファレンス


概要

これは Google Maps SDK for iOS のメインクラスであり、地図に関連するすべてのメソッドのエントリ ポイントです。

地図は、コンストラクタ -init または -initWithOptions: のいずれかを使用してインスタンス化する必要があります。

GMSMapView は、UIKit オブジェクトと同様、メインスレッドからのみ読み取りや変更が可能です。別のスレッドからこれらのメソッドを呼び出すと、例外または未定義の動作が発生します。

公開メンバー関数

(instancetype)- initinit
 CGRectZero とデフォルトのオプションで初期化します。
(instancetype)- initWithOptions:
 指定されたオプションで新しい地図表示を作成します。
(instancetype)- initWithFrame:
(null 許容の instancetype)- initWithCoder:
(instancetype)- initWithFrame:camera:
 フレームとカメラ ターゲットを含むマップビューを作成して返します。
(instancetype)- initWithFrame:mapID:camera:
 フレーム、マップ ID、カメラ ターゲットを含むマップビューを作成して返します。
(void) - startRendering
 この地図にレンダラを起動するよう指示します。
(void) - stopRendering
 この地図にレンダラの電源を切るように指示します。
(void) - クリア
 マーカー、ポリライン、地面オーバーレイなど、地図に追加されているすべてのマークアップを消去します。
(void) - setMinZoom:maxZoom:
 minZoommaxZoom を設定します。
(nullable GMSCameraPosition *) - cameraForBounds:insets:
 boundspadding とともに表示する GMSCameraPosition を作成します。
(void) - moveCamera:
 update に従ってカメラを変更します。
(BOOL) - areEqualForRenderingPosition:position:
 内部で使用される精度と変換のレベルを考慮し、指定されたカメラ位置によってカメラが実質的に同じようにレンダリングされるかどうかを確認します。
GMSFeatureLayer
< GMSPlaceFeature * > *)
- featureLayerOfFeatureType:
 指定されたタイプの対象物レイヤを返します。
(void) - invalidateLayoutForAccessoryView:
 アクセサリ ビューを無効にして、そのビューの再レイアウトをトリガーします。
(void) - setHeaderAccessoryView:
 ナビゲーション UI のプライマリ ヘッダーの下にアクセサリ ビューの位置を設定します。
(void) - animateToCameraPosition:
 この地図のカメラを cameraPosition にアニメーション化します。
(void) - animateToLocation:
 animateToCameraPosition: と同様ですが、カメラの位置のみを変更します(つまり、現在地から location に変更します)。
(void) - animateToZoom:
 animateToCameraPosition: と同様ですが、カメラのズームレベルのみを変更します。
(void) - animateToBearing:
 animateToCameraPosition: と同様ですが、カメラの向き(度数)のみを変更します。
(void) - animateToViewingAngle:
 animateToCameraPosition: と同様ですが、カメラの傾斜角(度数)のみを変更します。
(void) - animateWithCameraUpdate:
 cameraUpdate を現在のカメラに適用し、animateToCameraPosition: に従って結果を使用します。
(BOOL) - enableNavigationWithSession:
 指定されたナビゲーション セッションで、このマップビューのナビゲーションを開始します。

静的パブリック メンバー関数

(instancetype)+ mapWithFrame:camera:
 フレームとカメラ ターゲットを含むマップビューを作成して返します。
(instancetype)+ mapWithFrame:mapID:camera:
 フレーム、マップ ID、カメラ ターゲットを含むマップビューを作成して返すコンビニエンス イニシャライザ。

プロパティ

IBOutlet id< GMSMapViewDelegate >委任
 GMSMapView デリゲート。
GMSCameraPositioncamera
 カメラを制御し、地図の向きを定義します。
GMSProjectionprojection
 画面の座標と緯度/経度の座標を変換するために使用できる GMSProjection オブジェクトを返します。
BOOL myLocationEnabled
 現在地を示す点と精度を示す円を有効にするかどうかを制御します。
CLLocation * myLocation
 現在地が有効になっている場合は、デバイスの位置情報のドットが描画されている場所が表示されます。
GMSMarkerselectedMarker
 選択されているマーカー。
BOOL trafficEnabled
 地図に交通データを描画するかどうかを制御します(利用可能な場合)。
GMSMapViewTypemapType
 表示する地図タイルのタイプをコントロールします。
GMSMapStylemapStyle
 地図のスタイルをコントロールします。
float minZoom
 最小ズーム(カメラをズームアウトできる最大距離)。
float maxZoom
 最大ズーム(カメラが地球に最も近いもの)。
BOOL buildingsEnabled
 設定すると、利用可能な場合は建物が 3D 表示されます。
BOOL indoorEnabled
 利用可能な場合にインドアマップを表示するかどうかを設定します。
GMSIndoorDisplayindoorDisplay
 屋内データ表示のさまざまな側面を監視または制御できる GMSIndoorDisplay インスタンスを取得します。
GMSUISettings設定
 地図のユーザー インターフェース設定を制御する GMSUISettings オブジェクトを取得します。
UIEdgeInsetsパディング
 ビューの「可視」領域を制御します。
GMSMapViewPaddingAdjustmentBehaviorpaddingAdjustmentBehavior
 セーフエリア インセットをパディング値に追加する方法を制御します。
BOOL accessibilityElementsHidden
 デフォルトは YES です。
GMSMapLayerレイヤ
 レイヤに使用されるカスタム CALayer タイプのアクセサー。
GMSFrameRatepreferredFrameRate
 レンダリングのフレームレートを制御します。
GMSCoordinateBoundscameraTargetBounds
 nil でない場合、ジェスチャーによって指定された範囲から離れることがないように、カメラ ターゲットを制限します。
GMSMapCapabilityFlagsmapCapabilities
 現在利用可能な、条件付きで利用できる(mapID などの地図設定に依存する)すべての機能。
IBOutlet ID
< GMSMapViewNavigationUIDelegate >
navigationUIDelegate
 ナビゲーション UI イベントのコールバックを受け取る GMSMapView のデリゲート。
BOOL navigationEnabled
 この地図でナビゲーション機能が有効になっているかどうか。
GMSNavigatorナビゲータ
 この GMSMapView のナビゲータです。これにより、ルートのリクエストやターンバイターン方式の案内を開始できます。
GMSRoadSnappedLocationProviderroadSnappedLocationProvider
 道路でのスナップ位置情報の更新登録を許可します。
GMSLocationSimulatorlocationSimulator
 デバイスの位置情報をシミュレートできます。
GMSNavigationCameraModecameraMode
 browserEnabled プロパティが YES に設定されている場合に動作を決定するカメラのモード。
GMSNavigationCameraPerspectivefollowingPerspective
 デバイスの位置をフォローするときに使用するカメラの視点。
GMSNavigationTravelModetravelMode
 取得するルートの種類とデバイスのコースの決定方法を決定する移動手段。
GMSNavigationLightingModelightingMode
 ライティング モードによって、地図のレンダリングに使用するカラーパターンが決まります。
BOOL shouldDisplaySpeedLimit
 ガイダンスがアクティブで制限速度データが利用可能な場合に、制限速度を表示するかどうかを指定します。
BOOL shouldDisplaySpeedometer
 速度計アイコンを表示するかどうかを指定します。
UILayoutGuide * navigationHeaderLayoutGuide
 ナビゲーション ヘッダーで覆われている長方形。
UILayoutGuide * navigationFooterLayoutGuide
 ナビゲーション フッターの対象となる長方形。
GMSNavigationRouteCalloutFormatrouteCalloutFormat
 使用するルートのコールアウト形式(デフォルト、時間、距離)を指定します。
float followingZoomLevel
 ナビゲーション中のズームレベルをカスタマイズします。
GMSRoadSnappedLocationProviderroadSnappedMyLocationSource
 この地図ビューの現在地プロバイダを設定します。

(これらはメンバー関数ではありません)。

NSString *constkGMSAccessibilityCompass
 コンパスボタンのユーザー補助 ID。
NSString *constkGMSAccessibilityMyLocation
 [現在地] ボタンのユーザー補助 ID。
NSString *constkGMSAccessibilityOutOfQuota
 「容量不足」エラーラベルのユーザー補助 ID。

メンバー関数のドキュメント

-(instancetype)init

CGRectZero とデフォルトのオプションで初期化します。

-(instancetype)initWithOptions: (nonnull GMSMapViewOptions *) options

指定されたオプションで新しい地図表示を作成します。

オプション オブジェクトの値は、このメソッドによってコピーされます。

- (インスタンス タイプ)initWithFrame: (CGRect) フレーム
-(null 許容の instancetype)initWithCoder: (NSCoder *) コーダー
+ (instancetype) mapWithFrame: (CGRect) フレーム
camera: GMSCameraPosition *) camera

フレームとカメラ ターゲットを含むマップビューを作成して返します。

+ (instancetype) mapWithFrame: (CGRect) フレーム
mapID: GMSMapID *) mapID
camera: GMSCameraPosition *) camera

フレーム、マップ ID、カメラ ターゲットを含むマップビューを作成して返すコンビニエンス イニシャライザ。

- (インスタンス タイプ)initWithFrame: (CGRect) フレーム
camera: GMSCameraPosition *) camera

フレームとカメラ ターゲットを含むマップビューを作成して返します。

注:
これは非推奨となりました。代わりに -init または -initWithOptions: を使用してください。
- (インスタンス タイプ)initWithFrame: (CGRect) フレーム
mapID: GMSMapID *) mapID
camera: GMSCameraPosition *) camera

フレーム、マップ ID、カメラ ターゲットを含むマップビューを作成して返します。

注:
これは非推奨となりました。代わりに -init または -initWithOptions: を使用してください。
- (void) startRendering

この地図にレンダラを起動するよう指示します。

これは任意であり、べき等です。

注:
これは非推奨となりました。このメソッドは廃止され、今後のリリースで削除される予定です。
-(void)stopRendering

この地図にレンダラの電源を切るように指示します。

これは任意であり、べき等です。

注:
これは非推奨となりました。このメソッドは廃止され、今後のリリースで削除される予定です。
- (void) クリア

マーカー、ポリライン、地面オーバーレイなど、地図に追加されているすべてのマークアップを消去します。

これによって表示される位置ドットが消去されたり、現在の mapType がリセットされたりすることはありません。

- (void) setMinZoom: (float)  minZoom
maxZoom: (float)  maxZoom

minZoommaxZoom を設定します。

このメソッドは、最小値が最大値以下であることを前提としています。そうでない場合は、NSRangeException という名前で例外がスローされます。

- (nullable GMSCameraPosition *) cameraForBounds: GMSCoordinateBounds *) 境界
insets: (UIEdgeInsets) insets

boundspadding とともに表示する GMSCameraPosition を作成します。

カメラの方向と傾斜は 0 になります(つまり、北を向いて地球を真っすぐに見る)。この GMSMapView のフレームとパディングが考慮されます。

境界が無効な場合、このメソッドは nil のカメラを返します。

- (void) moveCamera: GMSCameraUpdate *) update

update に従ってカメラを変更します。

カメラの変更は瞬時に行われる(アニメーションは使わない)。

- (BOOL) areEqualForRenderingPosition: GMSCameraPosition *) position
position: GMSCameraPosition *) otherPosition

内部で使用される精度と変換のレベルを考慮し、指定されたカメラ位置によってカメラが実質的に同じようにレンダリングされるかどうかを確認します。

- (GMSFeatureLayer<GMSPlaceFeature *> *) featureLayerOfFeatureType: (GMSFeatureType) featureType

指定されたタイプの対象物レイヤを返します。

対象物レイヤは Cloud コンソールで構成する必要があります。

指定されたタイプのレイヤがこの地図に存在しない場合、データドリブン スタイル設定が有効になっていない場合、またはメタル レンダリング フレームワークが使用されていない場合、生成されるレイヤの isAvailable は NO となり、どの呼び出しにも応答しません。

Metal レンダラが必要です。Metal を有効にする方法については、https://developers.google.com/maps/documentation/ios-sdk/config#use-metal をご覧ください。

-(void)invalidateLayoutForAccessoryView: (UIView< GMSNavigationAccessoryView > *) accessoryView

アクセサリ ビューを無効にして、そのビューの再レイアウトをトリガーします。

ビューは、現在のアクセサリ ビューのいずれかである必要があります。ガイダンスがアクティブでない場合、この通話は NO-OP 指示となります。

- (void) setHeaderAccessoryView: (null 許容の UIView< GMSNavigationAccessoryView > *) headerAccessoryView

ナビゲーション UI のプライマリ ヘッダーの下にアクセサリ ビューの位置を設定します。

nil 値を渡すと、アクセサリ ビューが削除されます。ガイダンスがアクティブでない場合、この通話は NO-OP 指示となります。

@note マップビューが短い場合、スペースが限られているため、SDK によってアクセサリ ビューが非表示になります。ビューは、地図の表示を最適化するために内部で管理されています。

-(void)animateToCameraPosition: GMSCameraPosition *) cameraPosition

この地図のカメラを cameraPosition にアニメーション化します。

-(void)animateToLocation: (CLLocationCoordinate2D) 位置情報

animateToCameraPosition: と同様ですが、カメラの位置のみを変更します(つまり、現在地から location に変更します)。

-(void)animateToZoom: (float)  ズーム

animateToCameraPosition: と同様ですが、カメラのズームレベルのみを変更します。

この値は [kGMSMinZoomLevel, kGMSMaxZoomLevel] によってクランプされます。

-(void)animateToBearing: (CLLocationDirection) bearing

animateToCameraPosition: と同様ですが、カメラの向き(度数)のみを変更します。

ゼロは真北を示します。

-(void)animateToViewingAngle: (double) viewingAngle

animateToCameraPosition: と同様ですが、カメラの傾斜角(度数)のみを変更します。

この値は、地球への相対的な近さに応じて、最小値が 0(真下向き)で、水平線に向かって 30 ~ 45 度に固定されます。

-(void)animateWithCameraUpdate: GMSCameraUpdate *) cameraUpdate

cameraUpdate を現在のカメラに適用し、animateToCameraPosition: に従って結果を使用します。

- (BOOL)enableNavigationWithSession: GMSNavigationSession *) navigationSession

指定されたナビゲーション セッションで、このマップビューのナビゲーションを開始します。

戻り値:
ナビゲーションが正常に開始されたかどうかを示します(たとえば、利用規約に同意していない場合は NO が返されます)。

- (NSString* const) kGMSAccessibilityCompass [related]

コンパスボタンのユーザー補助 ID。

- (NSString* const) kGMSAccessibilityMyLocation [related]

[現在地] ボタンのユーザー補助 ID。

- (NSString* const) kGMSAccessibilityOutOfQuota [related]

「容量不足」エラーラベルのユーザー補助 ID。


プロパティのドキュメント

- (IBOutlet id<GMSMapViewDelegate>) delegate [read, write, assign]

GMSMapView デリゲート。

- (GMSCameraPosition*) カメラ [read, write, copy]

カメラを制御し、地図の向きを定義します。

このプロパティの変更は瞬時に行われます。

- (GMSProjection*) 投影 [read, assign]

画面の座標と緯度/経度の座標を変換するために使用できる GMSProjection オブジェクトを返します。

これは現在の投影のスナップショットであり、カメラが移動しても自動更新されません。これは、最後に描画された GMSMapView フレームの投影か、カメラが明示的に設定されているか、地図を作成したばかりの場合は次のフレームのいずれかを表します。nil にはなりません。

-(BOOL)myLocationEnabled [read, write, assign]

現在地を示す点と精度を示す円を有効にするかどうかを制御します。

デフォルトは NO です。

- (CLLocation*) myLocation [read, assign]

現在地が有効になっている場合は、デバイスの位置情報のドットが描画されている場所が表示されます。

無効になっている場合、または有効だが位置情報が利用できない場合は、nil になります。このプロパティは KVO を使用して監視できます。

- (GMSMarker*)selectedMarker [read, write, assign]

選択されているマーカー。

このプロパティを設定すると、特定のマーカーが選択され、その上に情報ウィンドウが表示されます。このプロパティが nil でない場合、nil に設定するとマーカーの選択が解除され、情報ウィンドウが非表示になります。このプロパティは KVO を使用して監視できます。

-(BOOL)trafficEnabled [read, write, assign]

地図に交通データを描画するかどうかを制御します(利用可能な場合)。

交通情報が利用可能かどうかによって変わります。デフォルトは NO です。

- (GMSMapViewTypemapType [read, write, assign]

表示する地図タイルのタイプをコントロールします。

デフォルトは kGMSTypeNormal です。

- (GMSMapStyle*) mapStyle [read, write, assign]

地図のスタイルをコントロールします。

nil 以外の mapStyle は、mapType が Normal の場合にのみ適用されます。

-(浮動小数点数)minZoom [read, assign]

最小ズーム(カメラをズームアウトできる最大距離)。

デフォルトは kGMSMinZoomLevel です。-setMinZoom:maxZoom: で変更。

-(浮動小数点数)maxZoom [read, assign]

最大ズーム(カメラが地球に最も近いもの)。

デフォルトは kGMSMaxZoomLevel です。-setMinZoom:maxZoom: で変更。

-(BOOL)buildingsEnabled [read, write, assign]

設定すると、利用可能な場合は建物が 3D 表示されます。

デフォルトは YES です。

これは、カスタム タイル レイヤを地図に追加する場合に、ズームレベルが高いときに見やすくするために便利です。この値を変更すると、すべてのタイルが一時的に無効になります。

-(BOOL)indoorEnabled [read, write, assign]

利用可能な場合にインドアマップを表示するかどうかを設定します。

デフォルトは YES です。

この項目が [いいえ] に設定されている場合、屋内データのキャッシュは削除され、エンドユーザーが現在選択されている階数をリセットできます。

- (GMSIndoorDisplay*) indoorDisplay [read, assign]

屋内データ表示のさまざまな側面を監視または制御できる GMSIndoorDisplay インスタンスを取得します。

- (GMSUISettings*) settings [read, assign]

地図のユーザー インターフェース設定を制御する GMSUISettings オブジェクトを取得します。

-(UIEdgeInsets)padding [read, write, assign]

ビューの「可視」領域を制御します。

パディングを適用すると、ビューの端の周囲に、マップデータは含まれるが UI コントロールは含まれない領域を作成できます。

パディングのバランスが取れていないと、ビューの視覚中心が適宜移動します。パディングは projection プロパティにも影響するため、表示される領域にパディング領域は含まれません。GMSCameraUpdate の FitToBounds では、このパディングとリクエストされたパディングの両方が考慮されます。

このプロパティは、UIView ベースのアニメーション ブロック内でアニメーション化できます。

セーフエリア インセットをパディング値に追加する方法を制御します。

セーフエリア インセットは、パディングと同様に、コンパス、[現在地] ボタン、階数選択ツールなどの地図のコントロールをデバイスのセーフエリア内に配置します。

デフォルトは kGMSMapViewPaddingAdjustBehaviorAlways です。

- (BOOL)accessibilityElementsHidden [read, write, assign]

デフォルトは YES です。

NO に設定した場合、GMSMapView はオーバーレイ オブジェクト(GMSMarkerGMSPolyline など)のユーザー補助要素を生成します。

このプロパティは、デフォルト値の YES を除き、非公式の UIAccessibility プロトコルに従います。

- (GMSMapLayer*) layer [read, retain]

レイヤに使用されるカスタム CALayer タイプのアクセサー。

- (GMSFrameRate) preferredFrameRate [read, write, assign]

レンダリングのフレームレートを制御します。

デフォルト値は kGMSFrameRateMaximum です。

- (GMSCoordinateBounds*) cameraTargetBounds [read, write, assign]

nil でない場合、ジェスチャーによって指定された範囲から離れることがないように、カメラ ターゲットを制限します。

- (GMSMapCapabilityFlagsmapCapabilities [read, assign]

現在利用可能な、条件付きで利用できる(mapID などの地図設定に依存する)すべての機能。

常時利用可能な機能は含まれていません。

- (IBOutlet id<GMSMapViewNavigationUIDelegate>) navigationUIDelegate [read, write, assign]

ナビゲーション UI イベントのコールバックを受け取る GMSMapView のデリゲート。

-(BOOL)navigationEnabled [read, write, assign]

この地図でナビゲーション機能が有効になっているかどうか。

「はい」の場合、経路とターンバイターンのルートを地図に表示し、カメラを追尾モードにできます。カメラがデバイスの位置情報に追随していないときに、中心を再設定するボタンが表示されます。

ユーザーが Google Navigation の利用規約に同意していない場合は、このプロパティを設定しても効果はありません。利用規約のダイアログを表示するには、GMSNavigationServices のメソッドをご覧ください。

- (GMSNavigator*)navigator [read, assign]

この GMSMapView のナビゲータです。これにより、ルートのリクエストやターンバイターン方式の案内を開始できます。

ユーザーが Google ナビゲーションの利用規約に同意していない場合は、nil になります。利用規約のダイアログを表示するには、GMSNavigationServices のメソッドをご覧ください。

道路でのスナップ位置情報の更新登録を許可します。

ユーザーが Google ナビゲーションの利用規約に同意していない場合は、nil になります。利用規約のダイアログを表示するには、GMSNavigationServices のメソッドをご覧ください。

- (GMSLocationSimulator*)locationSimulator [read, assign]

デバイスの位置情報をシミュレートできます。

シミュレートされた位置は、地図上のシェブロンの位置、ターンバイターン方式の案内の進行状況、道路スナップ ロケーション プロバイダが提供する更新に影響します。

ユーザーが Google ナビゲーションの利用規約に同意していない場合は、nil になります。利用規約のダイアログを表示するには、GMSNavigationServices のメソッドをご覧ください。

-(GMSNavigationCameraModecameraMode [read, write, assign]

browserEnabled プロパティが YES に設定されている場合に動作を決定するカメラのモード。

使用可能なモードについては、GMSNavigationCameraMode をご覧ください。

デバイスの位置をフォローするときに使用するカメラの視点。

この視点を有効にするには、navigationEnabled プロパティを YES に設定し、cameraMode を GMSNavigationCameraModeFollowing に設定する必要があります。

- (GMSNavigationTravelMode) travelMode [read, write, assign]

取得するルートの種類とデバイスのコースの決定方法を決定する移動手段。

運転モードでは、デバイスの進路は移動方向に基づきます。サイクリング モードまたはウォーキング モードでは、デバイスが向いているコンパスの方向がコースになります。デバイスのコースは、デバイス位置マーカーの方向によって表され、GMSRoadSnappedLocationProvider によって報告されます。

- (GMSNavigationLightingMode) lightingMode [read, write, assign]

ライティング モードによって、地図のレンダリングに使用するカラーパターンが決まります。

また、さまざまなインターフェース要素のデフォルトの色を決定する際にも使用されます。

-(BOOL)shouldDisplaySpeedLimit [read, write, assign]

ガイダンスがアクティブで制限速度データが利用可能な場合に、制限速度を表示するかどうかを指定します。

デフォルト値は NO です。

-(BOOL)shouldDisplaySpeedometer [read, write, assign]

速度計アイコンを表示するかどうかを指定します。

有効にすると、走行速度を示す速度計アイコンが下隅に表示されます。信頼できる制限速度データがある場合は、制限速度アイコンも速度計アイコンとともに表示されます。速度計のアイコンは、速度アラートの重大度に応じてテキストと背景で異なる色になります。

中央揃えボタンが有効になっている場合、中央揃えボタンが表示されると制限速度と速度計のアイコンは一時的に非表示になります。

-(UILayoutGuide*)navigationHeaderLayoutGuide [read, assign]

ナビゲーション ヘッダーで覆われている長方形。

ヘッダーが非表示の場合、高さは 0 になります。

-(UILayoutGuide*)navigationFooterLayoutGuide [read, assign]

ナビゲーション フッターの対象となる長方形。

フッターが非表示の場合、高さは 0 になります。

使用するルートのコールアウト形式(デフォルト、時間、距離)を指定します。

-(浮動小数点数)followingZoomLevel [read, write, assign]

ナビゲーション中のズームレベルをカスタマイズします。

この値を設定すると、カメラがデバイスの位置情報に追随している場合に、Navigation SDK のデフォルトのズームレベルがオーバーライドされます(つまり、cameraModeGMSNavigationCameraModeFollowing と等しい)。ズームレベルのオーバーライドを使用しない場合は、GMSNavigationNoFollowingZoomLevel に設定できます。

この地図ビューの現在地プロバイダを設定します。

通常、地図表示の現在地を示すドットと精度円は、実際のデバイスの位置情報に基づいて決まります。このプロパティを設定すると、現在地を示すドットと精度円は、指定されたロケーション プロバイダからの道路でスナップされた位置情報に基づいて動作します。通常の動作に戻すには、このプロパティを nil に設定します。

この地図表示で navigationEnabled がオンになっている場合、影響はありません。