เมื่อใช้ Maps SDK สำหรับ iOS คุณสามารถปรับแต่งวิธีที่ผู้ใช้โต้ตอบกับแผนที่ของคุณ โดยการระบุคอมโพเนนต์ UI ในตัวที่ปรากฏบนแผนที่และท่าทางสัมผัสที่อนุญาตให้ใช้งาน
ตัวควบคุมแผนที่
Maps SDK สำหรับ iOS มีการควบคุม UI ในตัวบางอย่างที่คล้ายกับการควบคุมที่พบในแอปพลิเคชัน Google Maps สำหรับ iOS คุณสลับระดับการเข้าถึงของตัวควบคุมเหล่านี้ได้โดยใช้คลาส GMSUISettings
การเปลี่ยนแปลงที่ทำในชั้นเรียนนี้จะแสดงบนแผนที่ทันที
เข็มทิศ
Maps SDK สำหรับ iOS มีกราฟิกเข็มทิศที่จะปรากฏที่มุมขวาบนของแผนที่ในบางสถานการณ์ เข็มทิศจะปรากฏ เฉพาะเมื่ออยู่ในทิศทางที่กล้องมีทิศทางที่ไม่เป็น 0 เมื่อผู้ใช้คลิกที่เข็มทิศ กล้องจะเคลื่อนไหวกลับไปยังตำแหน่งที่มีทิศทางเป็น 0 (การวางแนวเริ่มต้น) และเข็มทิศจะหายไปในไม่ช้าหลังจากนั้น
เข็มทิศถูกปิดใช้งานโดยค่าเริ่มต้น คุณสามารถเปิดใช้เข็มทิศโดยตั้งค่าพร็อพเพอร์ตี้ compassButton
ของ GMSUISettings
เป็น 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;
ปุ่มตำแหน่งของฉัน
ปุ่มตำแหน่งของฉันจะปรากฏที่มุมล่างขวาของหน้าจอเฉพาะเมื่อมีการเปิดใช้งานปุ่มตำแหน่งของฉัน เมื่อผู้ใช้คลิกปุ่ม กล้องจะเคลื่อนไหวเพื่อโฟกัสที่ตำแหน่งปัจจุบันของผู้ใช้หากระบบทราบตำแหน่งของผู้ใช้ในขณะนั้น คุณสามารถเปิดใช้ปุ่มได้โดยการตั้งค่าพร็อพเพอร์ตี้ myLocationButton
ของ GMSUISettings
เป็น YES
Swift
mapView.settings.myLocationButton = true
Objective-C
mapView.settings.myLocationButton = YES;
เครื่องมือเลือกชั้น
ตัวควบคุมเครื่องมือเลือกชั้นจะปรากฏบริเวณด้านขวาล่างของหน้าจอเมื่อใดก็ตามที่แสดงแผนที่ในอาคารอย่างโดดเด่น เมื่อมีการแสดงแผนที่ในอาคารตั้งแต่ 2 รายการขึ้นไป เครื่องมือเลือกชั้นจะสัมพันธ์กับอาคารที่อยู่ใกล้กึ่งกลางของหน้าจอมากที่สุด แต่ละอาคารจะมีชั้นเริ่มต้นซึ่งจะถูกเลือกไว้เมื่อเครื่องมือเลือกปรากฏเป็นครั้งแรก คุณเลือกชั้นอื่นได้โดยเลือกชั้นนั้นจากเครื่องมือเลือก
คุณปิดใช้การควบคุมเครื่องมือเลือกชั้นได้โดยตั้งค่าพร็อพเพอร์ตี้ indoorPicker
ของ GMSUISettings
เป็น NO
Swift
mapView.settings.indoorPicker = false
Objective-C
mapView.settings.indoorPicker = NO;
ท่าทางสัมผัสสำหรับแผนที่
คุณปิดใช้ท่าทางสัมผัสเริ่มต้นในแผนที่ได้โดยการตั้งค่าคุณสมบัติของคลาส GMSUISettings
ซึ่งมีอยู่เป็นพร็อพเพอร์ตี้ของ GMSMapView
ท่าทางสัมผัสต่อไปนี้สามารถเปิดและปิดใช้แบบเป็นโปรแกรมได้ โปรดทราบว่าการปิดใช้ท่าทางสัมผัสจะไม่ได้จำกัดการเข้าถึงการตั้งค่ากล้องแบบเป็นโปรแกรม
scrollGestures
— ควบคุมว่าจะเปิดหรือปิดใช้ท่าทางสัมผัสในการเลื่อน หากเปิดใช้ ผู้ใช้อาจปัดเพื่อแพนกล้องได้zoomGestures
— ควบคุมว่าจะเปิดใช้หรือปิดใช้ท่าทางสัมผัสการซูม หากเปิดใช้ ผู้ใช้จะสามารถแตะสองครั้ง แตะ 2 นิ้ว หรือบีบเพื่อซูมกล้อง โปรดทราบว่าการแตะ 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; }