현재 장소

플랫폼 선택: Android iOS

iOS용 Places SDK를 사용하면 기기의 현재 위치를 확인합니다. 즉, 기기의 현재 보고된 위치입니다. 장소의 예로는 지역 비즈니스, 볼 수 있습니다.

  1. 위치 승인 요청
  2. 사용량 한도
  3. 현재 위치 가져오기
  4. 앱에 기여 분석 표시

위치 승인 요청

앱에서 <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:인 경우 앱이 백그라운드에 있는 경우 확인 대화상자를 트리거하지 않고 다음 단계를 따르세요.

  1. Info.plist 파일에 NSLocationAlwaysUsageDescription 키를 추가합니다.
  2. 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:, 앱 은 저작자표시도 표시해야 합니다. 자세히 알아보기 기여 분석이 있습니다.