iOS용 Places SDK를 사용하면 기기의 현재 위치를 확인합니다. 즉, 기기의 현재 보고된 위치입니다. 장소의 예로는 지역 비즈니스, 볼 수 있습니다.
위치 승인 요청
앱에서
<ph type="x-smartling-placeholder"></ph>
GMSPlacesClient findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:
,
앱에서 위치 서비스 사용 권한을 요청해야 합니다.
Info.plist
에 대한 NSLocationWhenInUseUsageDescription
키
파일에서 위치 정보가 필요한 이유를 사용자에게 알려주는 문자열을 정의합니다.
제공합니다 예를 들면 다음과 같습니다.
<key>NSLocationWhenInUseUsageDescription</key> <string>Show your location on the map</string>
통화
<ph type="x-smartling-placeholder"></ph>
findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:
인 경우
앱이 백그라운드에 있는 경우 확인 대화상자를 트리거하지 않고
다음 단계를 따르세요.
Info.plist
파일에NSLocationAlwaysUsageDescription
키를 추가합니다.CLLocationManager
의 인스턴스에서requestAlwaysAuthorization
호출 를 호출할 수 있습니다.
다음과 같이 CLLocationManager
에서 승인을 요청합니다.
Swift
locationManager.requestAlwaysAuthorization()
Objective-C
[self.locationManager requestAlwaysAuthorization];
현재 위치 가져오기
현재 기기가 있는 지역 업체 또는 기타 장소를 찾기 위해
위치, 전화
GMSPlacesClient
findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:
포함
다음과 같습니다.
- 하나 이상의
GMSPlaceField
(어떤 데이터 유형을 지정할 것임) 반환합니다. 이 매개변수를 생략하면 가능한 모든 필드가 반환되며, 요금이 청구됩니다. 이는 장소 세부정보 요청에만 적용됩니다. - 결과를 처리할 콜백 메서드.
필드는 장소 검색 결과에 해당하며 다음 세 가지 결제 카테고리로 나뉩니다. 기본(Basic), 연락처(Contact), 분위기(Atmosphere) 기본 필드에는 기본 요율로 청구되며 추가 비용이 발생하지 않습니다. 있습니다. 연락처 및 분위기 필드에는 더 높은 요율로 청구됩니다. 자세한 내용은 장소 데이터 요청에 대한 요금 청구 방식에 대한 자세한 내용은 사용량 및 결제.
API는 지정된 콜백 메서드를 호출하여
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이어야 합니다.
예를 들어 올바른 장소가 Place A일 가능성을 55% 로 나타내려면 이고 35% 확률로 장소 B일 경우 가능성 배열에는 다음과 같은 두 멤버가 있습니다. 가능성 0.55 및 유사도가 0.35인 B를 배치합니다.
앱에 특성 표시
앱이
GMSPlacesClient
findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:
, 앱
은 저작자표시도 표시해야 합니다. 자세히 알아보기
기여 분석이 있습니다.