Namespaces

Variants
Actions

Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.

Location API(Java, 日本語)

From Wiki
Jump to: navigation, search
Article Metadata
Article
Translated:
By fnjwikimng
Last edited: hamishwillee (26 Jun 2013)

Location API (JSR-179) は、Java MEアプリケーションでユーザーの位置情報を取得することができます。

端末中におけるその技術の実装には、下記のようなものがあります。

  • GPS技術、例えばNokia N95にあるようなもの
  • Cell IDを持つ、携帯端末のネットワークを使用する
  • 狭い範囲を扱う測位システムを使用する

その中で最も一般的な手法はGPSで、その他の手法はオペレータ専用APIが必要だったり、あるいは建物に機器を設置する必要があったりします。

本APIは、Java実装にjavax.microedition.locationパッケージを追加し、開発者が、ワイアレスの位置ベースアプリケーションやサービスを作成することを可能にし、また、一般的な位置に関する手段を実装することができます。そのAPIはモバイルアプリケーションに端末の現在位置や方位(コンパス方位)についての情報を提供し、ランドマーク(landmark)と呼ばれる端末に格納されるデータベースの使用/利用についてもサポートします。

クラス類

ユーザーの位置を抽象化した Location クラスがあります。そのクラスは、座標(緯度、経度)データを持ち、速度など、場所に関するオプションの情報を持つこともあります。

また、名称やそれに関する記述を含む Landmark オブジェクトを定義することもできます。Landmarkオブジェクトは今後使用するために、端末中の LandmarkStore に格納することができます。その端末がコンパスをサポートする場合、Orientationクラスを保有することもできます。

Criteriaクラスは、端末の位置取得手法に影響を及ぼすキークラスです。

// 以下に示すサンプルコードは、Location APIの使用法を記述しています。

	  double lat,lon;
QualifiedCoordinates qc=null;
Criteria cr=new Criteria();
cr.setHorizontalAccuracy(500);
cr.setVerticalAccuracy(500);
cr.setPreferredPowerConsumption(Criteria.POWER_USAGE_LOW);
LocationProvider lp=LocationProvider.getInstance(cr);
Location loc=lp.getLocation(60);
qc=loc.getQualifiedCoordinates();
AddressInfo adinfo = loc.getAddressInfo();
String place="";
if(adinfo!=null){
place = adinfo.getField(AddressInfo.COUNTRY);
}
 
// To get the latitude and longitude
lat = qc.getLatitude();
lon = qc.getLongitude();

LocationProviderクラスから、更新情報を取得する: javax.microedition.location.LocationListener

LocationListener インタフェースの setLocationListener メソッドは、以下のような記述で、更新情報を取得するために使われます。

setLocationListener( listener, interval, timeout, maxAge );

  • interval - 更新頻度の固定値。秒単位で設定。
  • timeout - タイムアウト時間。秒単位で設定。
  • maxAge - 取得済み位置情報を、キャッシュ情報として保持しておける最大時間。
This page was last modified on 26 June 2013, at 05:32.
195 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×