کنترل‌ها و اشاره‌ها

پلاتفرم را انتخاب کنید: Android iOS JavaScript

بااستفاده از کیت توسعه نرم‌افزار Maps برای iOS، می‌توانید نحوه تعامل کاربران با نقشه‌تان را با تعیین اینکه کدام‌یک از عناصر داخلی رابط کاربری در نقشه نشان داده شود و کدام اشاره‌ها مجاز باشد سفارشی‌سازی کنید.

کنترل‌های نقشه

کیت توسعه نرم‌افزار Google Maps برای iOS برخی‌از کنترل‌های میانای کاربر داخلی را ارائه می‌دهد که مشابه کنترل‌های موجود در برنامه Google Maps برای iOS است. می‌توانید بااستفاده از کلاس GMSUISettings، رؤیت‌پذیری این کنترل‌ها را تغییر دهید. تغییرات اعمال‌شده در این کلاس بلافاصله در نقشه منعکس می‌شود.

قطب‌نما

کیت توسعه نرم‌افزار Google Maps برای iOS گرافیک قطب‌نمایی ارائه می‌دهد که در شرایط خاصی در گوشه بالا سمت راست نقشه ظاهر می‌شود. قطب‌نما فقط زمانی نشان داده می‌شود که دوربین به‌گونه‌ای جهت‌گیری شده باشد که زاویه سمتی غیرصفر داشته باشد. وقتی کاربر روی قطب‌نما کلیک می‌کند، دوربین با زاویه صفر (جهت پیش‌فرض) به موقعیت قبلی برمی‌گردد و قطب‌نما کمی بعد محو می‌شود.

قطب‌نما به‌طور پیش‌فرض غیرفعال است. می‌توانید قطب‌نما را با تنظیم خصوصیت compassButton از GMSUISettings روی YES فعال کنید. بااین‌حال، نمی‌توانید قطب‌نما را مجبور کنید همیشه نشان داده شود.

Swift

let camera = GMSCameraPosition(latitude: 37.757815, longitude: -122.50764, zoom: 12)
let options = GMSMapViewOptions()
options.camera = camera
let mapView = GMSMapView(options: options)
mapView.settings.compassButton = true
      

آبجکتیو-سی

GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:37.757815
                                                        longitude:-122.50764
                                                             zoom:12];
GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init];
options.camera = camera;
GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options];
mapView.settings.compassButton = YES;
      

دکمه «مکان من»

دکمه «مکان من» در گوشه پایین سمت چپ صفحه فقط زمانی ظاهر می‌شود که دکمه «مکان من» فعال باشد. وقتی کاربر روی دکمه کلیک می‌کند، دوربین متحرک می‌شود تا روی مکان فعلی کاربر تمرکز کند، اگر مکان کاربر مشخص باشد. می‌توانید با تنظیم کردن خصوصیت myLocationButton از GMSUISettings روی YES، دکمه را فعال کنید.

Swift

mapView.settings.myLocationButton = true
      

آبجکتیو-سی

mapView.settings.myLocationButton = YES;
      

انتخاب‌گر طبقه

هرگاه نقشه داخلی به‌طور برجسته نشان داده شود، کنترل انتخابگر طبقه در پایین سمت چپ صفحه ظاهر می‌شود. وقتی دو یا چند نقشه داخلی قابل مشاهده است، انتخابگر طبقه به ساختمان نزدیک‌تر به مرکز صفحه مربوط می‌شود. هر ساختمان یک طبقه پیش‌فرض دارد که وقتی انتخابگر برای اولین‌بار نمایش داده می‌شود، انتخاب می‌شود. می‌توانید طبقه دیگری را با انتخاب آن از انتخابگر انتخاب کنید.

می‌توانید با تنظیم کردن ویژگی indoorPicker GMSUISettings روی NO، کنترل انتخابگر طبقه را غیرفعال کنید.

Swift

mapView.settings.indoorPicker = false
      

آبجکتیو-سی

mapView.settings.indoorPicker = NO;
      

اشاره‌های نقشه

می‌توانید اشاره‌های پیش‌فرض را در نقشه با تنظیم کردن ویژگی‌های کلاس GMSUISettings غیرفعال کنید، که به‌عنوان ویژگی GMSMapView دردسترس است. اشاره‌های زیر را می‌توان به‌صورت برنامه‌نویسی‌شده فعال و غیرفعال کرد. توجه داشته باشید که غیرفعال کردن اشاره، دسترسی برنامه‌ای به تنظیمات دوربین را محدود نمی‌کند.

  • scrollGestures — کنترل می‌کند که اشاره‌های پیمایش فعال یا غیرفعال باشند. اگر فعال باشد، کاربران می‌توانند برای حرکت دادن دوربین تند بکشند.
  • zoomGestures — کنترل می‌کند که اشاره‌های بزرگ‌نمایی فعال یا غیرفعال باشد. اگر فعال باشد، کاربران می‌توانند با دو بار تک‌ضرب زدن، تک‌ضرب زدن با دو انگشت، یا نیشگون گرفتن، دوربین را بزرگ‌نمایی کنند. توجه داشته باشید که وقتی scrollGestures فعال است، دو بار تک‌ضرب زدن یا نیشگون گرفتن ممکن است دوربین را به نقطه مشخص‌شده حرکت دهد.
  • tiltGestures — کنترل می‌کند که اشاره‌های کج کردن فعال یا غیرفعال باشد. اگر فعال باشد، کاربران می‌توانند با دو انگشت تند به‌سمت بالا یا پایین بکشند تا دوربین را کج کنند.
  • rotateGestures — کنترل می‌کند که اشاره‌های چرخش فعال یا غیرفعال باشد. اگر فعال باشد، کاربران می‌توانند از اشاره چرخش دو انگشتی برای چرخاندن دوربین استفاده کنند.

در مثال زیر، هر دو اشاره حرکت عرضی و بزرگ‌نمایی غیرفعال شده‌اند.

Swift

override func loadView() {
  let camera = GMSCameraPosition.camera(
    withLatitude: 1.285,
    longitude: 103.848,
    zoom: 12
  )

  let options = GMSMapViewOptions()
  options.camera = camera
  let mapView = GMSMapView(options: options)
  mapView.settings.scrollGestures = false
  mapView.settings.zoomGestures = false
  self.view = mapView
}
      

آبجکتیو-سی

- (void)loadView {
  GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:1.285
                                                          longitude:103.848
                                                               zoom:12];
  GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init];
  options.camera = camera;
  GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options];
  mapView.settings.scrollGestures = NO;
  mapView.settings.zoomGestures = NO;
  self.view = mapView;
}