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