アプリユーザーの場所、具体的には緯度と経度の値を使用します。
それらを変数で使用して、URLで送信できるようにする必要があります...
私はこれまでiOSとXcodeの場所で作業したことがなく、インターネットで私の問題に一致するものは何も見つかりませんでした...
だから私は誰かがコードサンプルで私にそれを説明できることを願っています:)
THX for Uはドイツのローレンツを助けます
CoreLocationを使用して、経度と緯度を取得できます。
インクルードフレームワーク:
ナビゲーターでプロジェクトをクリックします。
「バイナリをライブラリにリンク」の下にあるプラスボタンをクリックします
プロジェクトにCorelocationを追加します。
ヘッダーファイルをインポートします:
#import <CoreLocation/CoreLocation.h>
CLLocationManagerを宣言します:
CLLocationManager *locationManager;
locationManager:を初期化します
- (void)viewDidLoad
{
locationManager = [[CLLocationManager alloc] init];
locationManager.distanceFilter = kCLDistanceFilterNone;
locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters;
[locationManager startUpdatingLocation];
}
次に、使用します
float latitude = locationManager.location.coordinate.latitude;
float longitude = locationManager.location.coordinate.longitude;
ステップ1:プロジェクトにCoreLocationフレームワークを追加します。
ステップ2:場所がフェッチされるビューコントローラーのヘッダーファイルに以下のコードを記述します。
#import <CoreLocation/CoreLocation.h>
また、インターフェイスにCLLocationManagerDelegate
を追加します。
次に、LocationManagerのオブジェクトを作成します
CLLocationManager *locationManager;
ステップ3:ViewDidLoad
メソッドで、以下のコードを記述します。
locationManager = [[CLLocationManager alloc] init];
locationManager.distanceFilter = kCLDistanceFilterNone;
locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters;
[locationManager startUpdatingLocation];
[locationManager requestAlwaysAuthorization]; //Note this one
DesiredAccuracy値をkCLLocationAccuracyBest, kCLLocationAccuracyNearestTenMeters, kCLLocationAccuracyHundredMeters, kCLLocationAccuracyKilometer, kCLLocationAccuracyThreeKilometers
として設定できます
次に、緯度と経度の値を取得するコードを以下に記述します
float Lat = locationManager.location.coordinate.latitude;
float Long = locationManager.location.coordinate.longitude;
NSLog(@"Lat : %f Long : %f",Lat,Long);
ステップ4:iOS 8では、このコードは警告なしに失敗します。つまり、エラーや警告は表示されません。
ロケーションを機能させるには、さらに2つのことを行う必要があります。
以下のキーのいずれかまたは両方をInfo.plistファイルに追加する必要があります。
これらは文字列型であり、値は任意のメッセージの説明または空にすることができます。
次に、対応するロケーションメソッドの承認をリクエストする必要があります。以下のいずれかの呼び出しを使用します。
迅速:
var locationManager = CLLocationManager()
locationManager.distanceFilter = kCLDistanceFilterNone
locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters
locationManager.startUpdatingLocation()