بااستفاده از کیت توسعه نرمافزار 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; }