Maps SDK for iOS を使用すると、 どの組み込み UI コンポーネントを使用するかを決定することで、 使用できる操作の種類を指定できます
地図のコントロール
Maps SDK for iOS には、組み込みの UI コントロールがいくつか用意されています。
iOS 向け Google マップ アプリとほぼ同じです。Google Chat では
GMSUISettings
クラスを使用して、これらのコントロールの表示 / 非表示を切り替えます。
このクラスに加えられた変更は、すぐにマップに反映されます。
コンパス
Maps SDK for iOS には、 特定の状況で 地図の右上にも表示されますコンパスは カメラの向きが 0 以外の方向になると、表示されます。この コンパスをクリックすると、カメラが bearing 付きの位置に戻るアニメーションで戻る コンパスはすぐに消えます。
デフォルトでは、コンパスは無効になっています。コンパスを有効にするには、
GMSUISettings
の compassButton
プロパティを YES
に設定します。ただし、
コンパスが常に表示されるようにします。
Swift
let camera = GMSCameraPosition(latitude: 37.757815, longitude: -122.50764, zoom: 12) let mapView = GMSMapView(frame: .zero, camera: camera) mapView.settings.compassButton = true
Objective-C
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:37.757815 longitude:-122.50764 zoom:12]; GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera]; mapView.settings.compassButton = YES;
現在地ボタン
現在地ボタンは、現在地ボタンが有効になっている場合にのみ、画面の右下隅に表示されます。ユーザーがボタンをクリックしたときに、ユーザーの現在地がわかっている場合は、アニメーションでカメラが現在地に合わせられます。このボタンを有効にするには、
GMSUISettings
の myLocationButton
プロパティを YES
に設定します。
Swift
mapView.settings.myLocationButton = true
Objective-C
mapView.settings.myLocationButton = YES;
階数選択ツール
フロア選択コントロールは インドアマップが目立つように表示されています。複数の構内図が表示されている場合は 階数選択ツールは、画面の中央に最も近い建物に対応します。各 建物には、ピッカーが最初に表示されたときに選択されるデフォルトの階があります 表示されます。ピッカーを使用すると、別の階を選択できます。
階数選択ツール コントロールを無効にするには、indoorPicker
プロパティを設定します。
GMSUISettings
から NO
に変更します。
Swift
mapView.settings.indoorPicker = false
Objective-C
mapView.settings.indoorPicker = NO;
地図の操作
地図のデフォルトの操作を無効にするには、
GMSUISettings
クラス。GMSMapView
のプロパティとして利用できます。
次のジェスチャーはプログラムで有効にしたり無効にしたりすることができます。注:
操作を無効にしても、カメラへのプログラムによるアクセスは制限されません
設定。
scrollGestures
- スクロール操作を有効にするかどうかを制御します。 無効です。有効な場合、ユーザーはスワイプによってカメラをパンすることができます。zoomGestures
- ズーム操作を有効にするかどうかを制御します できます。有効にすると、ユーザーはダブルタップ、2 本指タップ、ピンチ操作で カメラをズームします。scrollGestures
のときはダブルタップまたはピンチ操作で操作します。 有効にすると、指定したポイントにカメラがパンされます。tiltGestures
- 傾斜操作を有効にするか、有効にするかを制御します 無効です。有効にすると、2 本の指で縦方向の下または上方向にスワイプできるようになります。 カメラを傾けます。rotateGestures
- 回転操作を有効にするかどうかを制御します できます。有効にすると、ユーザーは 2 本指回転ジェスチャーを使用して カメラを回転させます。
次の例では、パン操作とズーム操作を無効にしています。
Swift
override func loadView() { let camera = GMSCameraPosition.camera( withLatitude: 1.285, longitude: 103.848, zoom: 12 ) let mapView = GMSMapView.map(withFrame: .zero, camera: camera) mapView.settings.scrollGestures = false mapView.settings.zoomGestures = false self.view = mapView }
Objective-C
- (void)loadView { GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:1.285 longitude:103.848 zoom:12]; GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera]; mapView.settings.scrollGestures = NO; mapView.settings.zoomGestures = NO; self.view = mapView; }