คุณสามารถใช้ Places SDK สำหรับ iOS เพื่อค้นหาสถานที่ที่มี ตำแหน่งอุปกรณ์อยู่ในขณะนี้ ซึ่งก็คือตำแหน่งที่อุปกรณ์ ตำแหน่งที่รายงานในปัจจุบัน ตัวอย่างสถานที่ ได้แก่ ธุรกิจท้องถิ่น จุดที่น่าสนใจ และสถานที่ตั้งทางภูมิศาสตร์
กำลังขอสิทธิ์ตำแหน่ง
หากแอปของคุณใช้
GMSPlacesClient findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:
,
แอปของคุณต้องขอสิทธิ์ในการใช้บริการตำแหน่ง เพิ่ม
กุญแจ NSLocationWhenInUseUsageDescription
ไปยัง Info.plist
เพื่อกำหนดสตริงที่แจ้งผู้ใช้ว่าทำไมคุณจึงจำเป็นต้องใช้ตำแหน่ง
บริการต่างๆ เช่น
<key>NSLocationWhenInUseUsageDescription</key> <string>Show your location on the map</string>
หากคุณต้องการโทร
findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:
เมื่อ
แอปทำงานอยู่ในเบื้องหลังโดยไม่เรียกใช้กล่องโต้ตอบการยืนยัน
โดยทำตามขั้นตอนต่อไปนี้ก่อนโทร
- เพิ่มคีย์
NSLocationAlwaysUsageDescription
ลงในไฟล์Info.plist
- เรียกใช้
requestAlwaysAuthorization
ในอินสแตนซ์ใดก็ได้ของCLLocationManager
ก่อนที่จะเรียกใช้เมธอด
ขอสิทธิ์จาก CLLocationManager
ดังนี้
Swift
locationManager.requestAlwaysAuthorization()
Objective-C
[self.locationManager requestAlwaysAuthorization];
กำลังรับข้อมูลตำแหน่งปัจจุบัน
เพื่อค้นหาธุรกิจในพื้นที่หรือสถานที่อื่นๆ ที่มีอุปกรณ์อยู่
ระบุตำแหน่ง, โทร
GMSPlacesClient
findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:
รวม
พารามิเตอร์ต่อไปนี้
GMSPlaceField
อย่างน้อย 1 รายการกำลังระบุประเภทข้อมูล เพื่อกลับไป หากคุณไม่ใส่พารามิเตอร์นี้ ระบบจะแสดงผลช่องที่เป็นไปได้ทั้งหมด และ คุณก็จะถูกเรียกเก็บเงินตามความเหมาะสม วิธีการนี้ใช้กับคำขอรายละเอียดสถานที่เท่านั้น- เมธอด Callback เพื่อจัดการผลลัพธ์
ฟิลด์จะสอดคล้องกับผลการค้นหาสถานที่ และแบ่งออกเป็นสามหมวดหมู่การเรียกเก็บเงิน: พื้นฐาน รายชื่อติดต่อ และบรรยากาศ ระบบจะเรียกเก็บเงินช่องพื้นฐานในอัตราฐานและไม่มีค่าใช้จ่ายเพิ่มเติม ระบบจะเรียกเก็บเงินฟิลด์รายชื่อติดต่อและบรรยากาศในอัตราที่สูงกว่า หากต้องการดูข้อมูลเพิ่มเติม เกี่ยวกับวิธีเรียกเก็บเงินสำหรับคำขอให้ดูข้อมูลเกี่ยวกับสถานที่ โปรดดู การใช้งานและการเรียกเก็บเงิน
API จะเรียกใช้เมธอด Callback ที่ระบุ โดยแสดงผลอาร์เรย์ของ
GMSPlaceLikelihood
ออบเจ็กต์
ชิ้น
GMSPlaceLikelihood
แสดงแทนสถานที่ สำหรับแต่ละสถานที่ ผลลัพธ์จะมี
บ่งบอกถึงความเป็นไปได้ที่สถานที่นั้นจะเป็นสถานที่ที่ถูกต้อง ค่าสูงกว่า
หมายความถึงความเป็นไปได้ที่มากขึ้นว่า สถานที่แห่งนั้นจะเป็นรายการที่ตรงกันมากที่สุด บัฟเฟอร์อาจ
ว่างเปล่า หากไม่มีตำแหน่งที่ทราบว่าตรงกับตำแหน่งของอุปกรณ์
ตัวอย่างโค้ดต่อไปนี้เรียกดูรายการสถานที่ที่อุปกรณ์อยู่ ที่มีแนวโน้มว่าจะอยู่มากที่สุด และบันทึกชื่อและแนวโน้มของสถานที่แต่ละแห่ง
Swift
// Specify the place data types to return. let fields: GMSPlaceField = GMSPlaceField(rawValue: UInt(GMSPlaceField.name.rawValue) | UInt(GMSPlaceField.placeID.rawValue))! placesClient?.findPlaceLikelihoodsFromCurrentLocation(withPlaceFields: fields, callback: { (placeLikelihoodList: Array<GMSPlaceLikelihood>?, error: Error?) in if let error = error { print("An error occurred: \(error.localizedDescription)") return } if let placeLikelihoodList = placeLikelihoodList { for likelihood in placeLikelihoodList { let place = likelihood.place print("Current Place name \(String(describing: place.name)) at likelihood \(likelihood.likelihood)") print("Current PlaceID \(String(describing: place.placeID))") } } })
Objective-C
// Specify the place data types to return. GMSPlaceField fields = (GMSPlaceFieldName | GMSPlaceFieldPlaceID); [_placesClient findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:fields callback:^(NSArray<GMSPlaceLikelihood *> * _Nullable likelihoods, NSError * _Nullable error) { if (error != nil) { NSLog(@"An error occurred %@", [error localizedDescription]); return; } if (likelihoods != nil) { for (GMSPlaceLikelihood *likelihood in likelihoods) { GMSPlace *place = likelihood.place; NSLog(@"Current place name: %@", place.name); NSLog(@"Place ID: %@", place.placeID); } } }];
หมายเหตุเกี่ยวกับค่าแนวโน้ม
- แนวโน้มจะแสดงความน่าจะเป็นแบบสัมพัทธ์ ของสถานที่ที่ตรงกับมากที่สุดภายในรายการ สถานที่ที่ส่งคืนสำหรับ คำขอเดียว คุณจะเปรียบเทียบแนวโน้มในคำขอต่างๆ ไม่ได้
- ค่าของแนวโน้มจะอยู่ระหว่าง 0 ถึง 1.0
- ผลรวมของแนวโน้มในอาร์เรย์ที่แสดงผลของ
GMSPlaceLikelihood
มีค่าน้อยกว่าหรือเท่ากับ 1.0 เสมอ โปรดทราบว่าผลรวมไม่ใช่ ต้องเป็น 1.0 เท่านั้น
ตัวอย่างเช่น เพื่อแสดงความเป็นไปได้ 55% ที่สถานที่ที่ถูกต้องคือสถานที่ A และความเป็นไปได้ 35% ที่จะเป็นตำแหน่ง B อาร์เรย์ความเป็นไปได้จะมีสมาชิก 2 ราย ได้แก่ วาง A โดยมีแนวโน้มที่ 0.55 และ ตำแหน่ง B มีแนวโน้มที่ 0.35
กำลังแสดงการระบุแหล่งที่มาในแอปของคุณ
เมื่อแอปแสดงข้อมูลที่ได้จาก
GMSPlacesClient
findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:
แอป
จะต้องแสดงการระบุแหล่งที่มาด้วย อ่านเพิ่มเติมเกี่ยวกับ
การระบุแหล่งที่มา