×
Namespaces

Variants
Actions
(Difference between revisions)

Archived:S60 3rd Edition でのGPS API

From Nokia Developer Wiki
Jump to: navigation, search
hamishwillee (Talk | contribs)
m (Hamishwillee - Bot update - Fix ArticleMetaData)
hamishwillee (Talk | contribs)
m (Hamishwillee - Fix categories)
Line 1: Line 1:
 +
[[Category:Lang-Japanese]][[Category:Location]][[Category:GPS]][[Category:Symbian C++]][[Category:Symbian]][[Category:Code Examples]][[Category:S60 3rd Edition (initial release)]][[Category:S60 3rd Edition FP1]][[Category:S60 3rd Edition FP2]]
 
{{ArticleMetaData <!-- v1.2 -->
 
{{ArticleMetaData <!-- v1.2 -->
 
|sourcecode= [[Media:GpsPositionRequest.zip]] [[Media:GeoTagging Example.zip]]
 
|sourcecode= [[Media:GpsPositionRequest.zip]] [[Media:GeoTagging Example.zip]]
Line 4: Line 5:
 
|devices= <!-- Devices tested against - e.g. ''devices=Nokia 6131 NFC, Nokia C7-00'') -->
 
|devices= <!-- Devices tested against - e.g. ''devices=Nokia 6131 NFC, Nokia C7-00'') -->
 
|sdk= <!-- SDK(s) built and tested against (e.g. [http://linktosdkdownload/ Nokia Qt SDK 1.1]) -->
 
|sdk= <!-- SDK(s) built and tested against (e.g. [http://linktosdkdownload/ Nokia Qt SDK 1.1]) -->
|platform= <!-- Compatible platforms - e.g. Symbian^1 and later, Qt 4.6 and later -->
+
|platform= S60 3rd Edition
 
|devicecompatability= <!-- Compatible devices e.g.: All* (must have internal GPS) -->
 
|devicecompatability= <!-- Compatible devices e.g.: All* (must have internal GPS) -->
 
|dependencies= <!-- Any other/external dependencies e.g.: Google Maps Api v1.0 -->
 
|dependencies= <!-- Any other/external dependencies e.g.: Google Maps Api v1.0 -->
Line 20: Line 21:
 
|creationdate= 20080502
 
|creationdate= 20080502
 
|author= [[User:Eswar illuri]]
 
|author= [[User:Eswar illuri]]
}}[[Category:Lang-Japanese]][[Category:Location]][[Category:GPS]][[Category:Symbian C++]][[Category:Symbian]]
+
}}
  
  
 
==概要==
 
==概要==
  
[[* <s>[[CS000883 - Pausing an application on an incoming SMS]]</s>]] 3rd Editionは、[[GPS]]測位を完全にサポートしています。内蔵と拡張[[Bluetooth]] [[GPS]]モジュールの両方をサポートしています。市場には、既に[[GPS]]が利用可能な電話機がいくつかあります。Nokia 6110 とNokia N95 です。今後も[[GPS]]内蔵の電話機が発売されます。
+
S60 3rd Editionは、[[GPS]]測位を完全にサポートしています。内蔵と拡張[[Bluetooth]] [[GPS]]モジュールの両方をサポートしています。市場には、既に[[GPS]]が利用可能な電話機がいくつかあります。Nokia 6110 とNokia N95 です。今後も[[GPS]]内蔵の電話機が発売されます。
  
 
Nokiaから出されたSmart2Go(別名をNokia マップ)という、無料の[[GPS]]ナビゲーション・ソフトがあります。[[GPS]]測位を利用した、サード・パーティのタイトルもいくつかあります。アプリケーションで[[GPS]]測位を使うにはどうしたらよいでしょうか?
 
Nokiaから出されたSmart2Go(別名をNokia マップ)という、無料の[[GPS]]ナビゲーション・ソフトがあります。[[GPS]]測位を利用した、サード・パーティのタイトルもいくつかあります。アプリケーションで[[GPS]]測位を使うにはどうしたらよいでしょうか?
Line 31: Line 32:
 
==実装==
 
==実装==
  
2つの方法があります。最初の方法は、外部[[Bluetooth]] [[GPS]]モジュールとロー・レベルのコミュニケーションを行う方法です。これは、[[* <s>[[CS000868 - Custom control: Focusing]]</s>]] 2nd Edition で広く使用されました。これには、多くの技術的問題や、いくつかの外部Bluetooth [[GPS]]機器で正しく動作しないことがあります。また、Nokia 6110 やNokia N95 電話機の内蔵[[GPS]]モジュールとは動作しません。これは、推奨されないやり方です。
+
2つの方法があります。最初の方法は、外部[[Bluetooth]] [[GPS]]モジュールとロー・レベルのコミュニケーションを行う方法です。これは、S60 2nd Edition で広く使用されました。これには、多くの技術的問題や、いくつかの外部Bluetooth [[GPS]]機器で正しく動作しないことがあります。また、Nokia 6110 やNokia N95 電話機の内蔵[[GPS]]モジュールとは動作しません。これは、推奨されないやり方です。
  
推奨される方法は、S60 2nd Edition, Feature Pack 2 で導入されたLocation API を使う方法です。これは、[[* <s>[[CS000864 - Displaying image information]]</s>]] 3rd Edition でもサポートされています。
+
推奨される方法は、S60 2nd Edition, Feature Pack 2 で導入されたLocation API を使う方法です。これは、S60 3rd Edition でもサポートされています。
  
 
Location API には、いくつかのキーとなるクラスがあります。RPositionServerとRPositioner、TPositionInfo です。最初に、RPositionServerに接続します。次に、RPositionerのオブジェクトを作成し、現在位置を取得するための非同期リクエストを発行します。結果は、TPositionInfo構造体で返されます。
 
Location API には、いくつかのキーとなるクラスがあります。RPositionServerとRPositioner、TPositionInfo です。最初に、RPositionServerに接続します。次に、RPositionerのオブジェクトを作成し、現在位置を取得するための非同期リクエストを発行します。結果は、TPositionInfo構造体で返されます。
Line 83: Line 84:
 
<!-- Translation --> [[pt:API GPS para S30 3a edição]]
 
<!-- Translation --> [[pt:API GPS para S30 3a edição]]
 
<!-- Translation --> [[en:Archived:GPS API in Symbian 3rd Edition]]
 
<!-- Translation --> [[en:Archived:GPS API in Symbian 3rd Edition]]
[[Category:Code Examples]]
 

Revision as of 10:16, 6 August 2012

Article Metadata
Code ExampleCompatibilityArticle
Translated:
By masatoshi
Last edited: hamishwillee (06 Aug 2012)


概要

S60 3rd Editionは、GPS測位を完全にサポートしています。内蔵と拡張Bluetooth GPSモジュールの両方をサポートしています。市場には、既にGPSが利用可能な電話機がいくつかあります。Nokia 6110 とNokia N95 です。今後もGPS内蔵の電話機が発売されます。

Nokiaから出されたSmart2Go(別名をNokia マップ)という、無料のGPSナビゲーション・ソフトがあります。GPS測位を利用した、サード・パーティのタイトルもいくつかあります。アプリケーションでGPS測位を使うにはどうしたらよいでしょうか?

実装

2つの方法があります。最初の方法は、外部Bluetooth GPSモジュールとロー・レベルのコミュニケーションを行う方法です。これは、S60 2nd Edition で広く使用されました。これには、多くの技術的問題や、いくつかの外部Bluetooth GPS機器で正しく動作しないことがあります。また、Nokia 6110 やNokia N95 電話機の内蔵GPSモジュールとは動作しません。これは、推奨されないやり方です。

推奨される方法は、S60 2nd Edition, Feature Pack 2 で導入されたLocation API を使う方法です。これは、S60 3rd Edition でもサポートされています。

Location API には、いくつかのキーとなるクラスがあります。RPositionServerとRPositioner、TPositionInfo です。最初に、RPositionServerに接続します。次に、RPositionerのオブジェクトを作成し、現在位置を取得するための非同期リクエストを発行します。結果は、TPositionInfo構造体で返されます。

使用方法

ここに、CGpsPositionRequest というハイ・レベルなユーティリティ・クラスがあります。これは、次の3つの問題を解決します。1つ目は、ユーザー(プログラマ)からLocation API の詳細と複雑さを全て隠します。2つ目に、これは同期で動作し、ユーザーから非同期の複雑さを全て除きます。3つ目に、位置リクエスト中にプログレス・ダイアログ(ウエイト・ノート)が表示され、エンド・ユーザーは、アプリケーションは動作していることがわかります。次は、使用例です:

    #include "GpsPositionRequest.h"
...
// variables to hold current locations
TReal latitude, longitude;
// create CGpsPositionRequest object and put it into cleanup stack;
// pass application name as argument
CGpsPositionRequest* request = CGpsPositionRequest::NewLC(
_L("My application"));
// get current location (this operation can be long up to 30 seconds);
// progress dialog is shown to user during this time
TBool result = request->FetchCurrentPostionL(latitude, longitude);
// delete request object
CleanupStack::PopAndDestroy(request);
// process result here
if (result)
{
// success, use latitude and longitude coordinates
}
else
{
// failed getting current position, show error message to user
}

MMPプロジェクト・ファイルに次の行を追加する必要があることに注意:

SOURCE GpsPositionRequest.cpp
LIBRARY lbs.lib

また、リソース・ファイルで、GpsPositionRequest.raをインクルードするようにする必要もあります:

#include "GpsPositionRequest.ra"

CGpsPositionRequest のソース・コードのダウンロードは、ここからです: File:GpsPositionRequest.zip

位置を選ぶ前に見るために使う(簡単な再利用できる)コンテナを含んでいる他のサンプルが、ここにあります:File:GeoTagging Example.zip

181 page views in the last 30 days.