4

こんにちは、IOS アプリで Google オートコンプリート Places を使用しています。しかし、問題はそれが機能していないことです。ユーザーの現在の場所を取得できません。

検索機能はオートコンプリートボックスに場所を正常に表示していますが、私が抱えている唯一の問題は、ユーザーの現在の場所を取得できないことです.これは、私が使用しているユーザーの現在の場所を取得するためのコードです.

class ViewController: UIViewController,CLLocationManagerDelegate {


    var locationManager = CLLocationManager()
    var placesClient : GMSPlacesClient?
    override func viewDidLoad() {
        super.viewDidLoad()

         locationManager.requestAlwaysAuthorization()

       run()

    }

 func run(){

        self.placesClient?.currentPlaceWithCallback({ (list: GMSPlaceLikelihoodList?, error: NSError?) -> Void in
            if let error = error {
                print("error: \(error.description)")
                return
            }

            for likelihood in list!.likelihoods {
                if let likelihood = likelihood as? GMSPlaceLikelihood {
                    let place = likelihood.place
                    print("Current Place name \(place.name) at likelihood \(likelihood.likelihood)")
                    print("Current Place address \(place.formattedAddress)")
                    print("Current Place attributions \(place.attributions)")

                    print("Current PlaceID \(place.placeID)")
                }
            }
        })
    }

info.plist にもキーを追加し、携帯電話でアプリをコンパイルしています。

ここに画像の説明を入力

4

1 に答える 1

0

に以下を追加viewDidLoad()

placesClient = GMSPlacesClient.shared()

run()また、承認をリクエストした直後に置くと、API は非同期であるため、アプリを初めて実行したときに機能しない可能性があり、その時点で承認が取得されていないため、API はエラーで応答します。

于 2016-10-05T07:53:20.467 に答える