-2
誰かがUITextFieldをユーザーの現在のアドレスで塗りつぶす方法を知っていますか?私は任意のフレームワークやAPIに触れることができます。私はちょうど正しい方向にプッシュする必要があります。おそらくチュートリアルです。ありがとう。スウィフトUserLocation UITextField
誰かがUITextFieldをユーザーの現在のアドレスで塗りつぶす方法を知っていますか?私は任意のフレームワークやAPIに触れることができます。私はちょうど正しい方向にプッシュする必要があります。おそらくチュートリアルです。ありがとう。スウィフトUserLocation UITextField
更新ソリューション:
は経度でのユーザーの位置を取得し、あなたのクラス宣言
CLLocationManagerDelegate
を追加するには、クラスimport CoreLocation
を追加
NSLocationWhenInUseUsageDescription
またはNSLocationAlwaysUsageDescription
を追加してください。追加ボタンを押して、どちらか一方をコピーして貼り付けるだけです。それはPrivacy - Location When In Use Usage Description
に自動的に修正する必要がありますし、右側のボックスに説明を追加することができます。その説明は、アプリがユーザーの場所を使用するように頼んだときにポップアップに表示されます。次に、ロケーションマネージャを開始する必要があります。あなたは、あなたはその後、今、あなたは経度と緯度でユーザの位置を持っていることを
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let locat = manager.location
}
を使用してユーザの位置を取得することができます
let manager = CLLocationManager()
manager.delegate = self
manager.desiredAccuracy = kCLLocationAccuracyBest
manager.requestAlwaysAuthorization()
manager.startUpdatingLocation()
を使用してこれを行うことができますジオコーディングを使用してアドレスに変換する必要があります。
geocoder.reverseGeocodeLocation(locat!, completionHandler: {
(placemarks, error) in
if (error != nil) {
//geocoding failed
} else {
let pm = placemarks! as [CLPlacemark]
if pm.count > 0 {
let pm = placemarks![0]
let address = (pm.subThoroughfare + ", " + pm.thoroughfare + ", " + pm.locality + ", " + pm.subLocality + ", " + pm.country + ", " + pm.postalCode)
print(address)
manager.stopUpdatingLocation()
}
}
})
逆ジオコーディング機能を実装し、そのようなlet geocoder: CLGeocoder = CLGeocoder()
としてCLGeocoder
を作成import AddressBookUI
最後に、UIButtonのテキストをアドレスを含むその文字列に変更することができます。
すでに回答済み:https://stackoverflow.com/questions/25296691/get-users-current-location-coordinates – Martheli