เมื่อใช้ 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 นิ้วบีบหรือบีบเพื่อซูมกล้อง โปรดทราบว่าการแตะสองครั้งหรือปักหมุดเมื่อเปิดใช้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; }