MacBookからプログラムで場所や市町村を取得する方法はありますか?それは可能であるかどうか疑問に思うだけでなく、非常に正確である必要はありません。プログラムによってコマンドラインからMacBookの都市/州を取得できますか?
GeoIPサービスにリモートでアクセスしていないものがあります。二つの部分で
MacBookからプログラムで場所や市町村を取得する方法はありますか?それは可能であるかどうか疑問に思うだけでなく、非常に正確である必要はありません。プログラムによってコマンドラインからMacBookの都市/州を取得できますか?
GeoIPサービスにリモートでアクセスしていないものがあります。二つの部分で
:(ハックのビット)
は、あなたのIPアドレスを取得:
ifconfig | grep "inet addr" | grep -v '127\.0\.0\.1' | tr ':' ' ' | awk '{print $3}'
は、テーブルであなたのアドレスを見上げて: http://ipinfodb.com/linux_script.php
お役に立てれば!後述のように、私は正確に行うにはGitHubのレポを開始しました
EDIT(さらに下の元の応答):https://github.com/inspector-g/getloc
により、今日限られた時間を持つことに、それは簡単だった/速いだけに、一般的な使用します外部IPジオロケーションティック。それは私がそれをテストしたすべてのマシン上で素晴らしい動作します。しかし、私は将来の使用のために必要なすべてのCoreLocationスタブを配置しました。今週はもっと時間がかかる場合は、Mac OS X用のサードパーティのMapKitを実装するかもしれません(下記参照)。
元の応答
これを行うためのコマンドラインプログラムはありません。次のように、XcodeでCocoaコマンドラインプログラムを構築することで、簡単なものにすることができます。
MacOS 10.6では、CLLocationManager
でユーザーの緯度/経度の位置を取得できます。このクラスでは、位置情報の代理人になりたい:
locationManager = [[CLLocationManager alloc] init];
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
locationManager.delegate = self;
[locationManager startUpdatingLocation];
locationManager
は、クラスのメンバーであると。 CLLocationManager
からのメッセージを受信するために、デリゲートクラスは以下のメソッドを実装する必要があります。
-(void) locationManager:(CLLocationManager*)manager
didUpdateToLocation:(CLLocation*)newLocation
fromLocation:(CLLocation*)oldLocation;
-(void) locationManager:(CLLocationManager*)manager
didFailWithError:(NSError*)error;
を今、あなたはすべての設定およびこれらの方法でCLLocation
のインスタンスを受信していることを、どのようにあなたが街を得るか、状態、または緯度と経度のデータから他の地理情報をCLLocation
?あなたはそうしない! AppleはMac OS X用のリバースジオコーダを提供していません(iOSのみ)。
しかし、ギャップ、iOSのMapKitの機能に合わせて、かなりまともなライブラリを埋めるためにリリースされました:実際には、MapKitの機能を一致させるためのもの、とかなり良い仕事をしていますhttp://github.com/Oomph/MacMapKit
。運が良ければ:)
(実際、私はこれについて考えるようになりました。ちょっとしたプログラムを作ってGitHubに投稿するかもしれません...) –