質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Objective-C

Objective-Cはオブジェクト指向型のプログラミング言語のひとつです。C言語をベースにSmalltalkが取り入れられています。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Q&A

解決済

1回答

2899閲覧

iosでの正確な位置情報の取得方法

mm--_--mm

総合スコア113

Objective-C

Objective-Cはオブジェクト指向型のプログラミング言語のひとつです。C言語をベースにSmalltalkが取り入れられています。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

0グッド

0クリップ

投稿2015/06/19 00:29

編集2015/06/19 00:42

いつもお世話になってます。
objective-cでgoogle mapをで自分の現在地を取得するプログラムを書いているのですが、正しい位置を取得することができません。

lang

1#import "ViewController.h" 2#import <GoogleMaps/GoogleMaps.h> 3#import <CoreLocation/CoreLocation.h> 4 5@interface ViewController (){ 6 GMSMapView *mapView_; 7 CLLocationManager *locationManager; 8} 9@end 10 11@implementation ViewController 12 13- (void)viewDidLoad { 14 [super viewDidLoad]; 15 16 if (nil == locationManager) 17 locationManager = [[CLLocationManager alloc] init]; 18 locationManager.delegate = self; 19 locationManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters; 20 // Set a movement threshold for new events. 21 locationManager.distanceFilter = 1.0; // meters 22 [locationManager startUpdatingLocation]; 23 24} 25- (void)locationManager:(CLLocationManager *)manager 26didChangeAuthorizationStatus:(CLAuthorizationStatus)status 27{ 28 NSLog(@"位置情報の利用を許可"); 29 if (status == kCLAuthorizationStatusNotDetermined) { 30 // ユーザが位置情報の使用を許可していない 31 NSLog(@"位置情報の利用を許可してない"); 32 } 33} 34- (void)locationManager:(CLLocationManager *)manager 35didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation 36{ 37 // 位置情報を取り出す 38 float longitude = newLocation.coordinate.longitude; 39 float latitude = newLocation.coordinate.latitude; 40 41 NSLog(@"%f",longitude); 42 NSLog(@"%f",latitude); 43} 44 45- (void)didReceiveMemoryWarning { 46 [super didReceiveMemoryWarning]; 47 // Dispose of any resources that can be recreated. 48} 49 50@end 51

位置は表示されるのですが、日本でやっているのに海外の座標が表示されてしまいました..
調べてみても有力な情報がでてきません...

試している環境はiphoneではなくxcodeのシミュレーターを使用しております。
xcodeのversionは6.1.1、osはmarvericksの10.9.5です。

この問題の解決方法がわかる方おりましたら教えて下さい。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

anaprestoo

2015/06/19 01:04

Mac自身の位置情報サービスは有効になっておられますか?
mm--_--mm

2015/06/19 01:07

セキュリティとプライバシーで確認してみたところ、位置情報サービスを有効にするにチェックマークはついていました。この他に設定しなければならない箇所があるのでしょうか?
guest

回答1

0

ベストアンサー

シミュレータでは、現在地の座標を取得することは出来ません。
あらかじめ設定されてある座標が返されます。

Xcode内の下部ペインに、シミュレータのGPSの場所を指定できるボタンがあります。
そちらの設定は変更してみましたか?
デフォルトではアメリカの座標が出力されると思います。

こちらを参考にしてください。
http://qiita.com/key/items/d33aba1f7eb76f898730

投稿2015/06/19 02:56

編集2015/06/19 02:58
takutok

総合スコア392

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mm--_--mm

2015/06/19 04:23

シミュレーターでは現在位置を取得することはできないんですか... 確かに、アメリカのどこかの座標が表示されていました! まだ実機で試してないので、まず実機で試してみます!
mm--_--mm

2015/06/19 14:01

実機で試してみたところ、無事に現在地を取得することができました! ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問