QGeoCodingManager Class
QGeoCodingManager クラスは、ジオコーディング操作のサポートを提供します。詳細...
Header: | #include <QGeoCodingManager> |
qmake: | QT += location |
Inherits: | QObject |
パブリック関数
virtual | ~QGeoCodingManager() |
QGeoCodeReply * | geocode(const QGeoAddress &address, const QGeoShape &bounds = QGeoShape()) |
QGeoCodeReply * | geocode(const QString &address, int limit = -1, int offset = 0, const QGeoShape &bounds = QGeoShape()) |
QLocale | locale() const |
QString | managerName() const |
int | managerVersion() const |
QGeoCodeReply * | reverseGeocode(const QGeoCoordinate &coordinate, const QGeoShape &bounds = QGeoShape()) |
void | setLocale(const QLocale &locale) |
シグナル
void | errorOccurred(QGeoCodeReply *reply, QGeoCodeReply::Error error, const QString &errorString = QString()) |
void | finished(QGeoCodeReply *reply) |
詳細説明
geocode() およびreverseGeocode() 関数はQGeoCodeReply オブジェクトを返し、これらの操作を管理し、操作の結果と発生した可能性のあるエラーを報告します。
geocode() およびreverseGeocode() 関数を使用して、QGeoAddress インスタンスをQGeoCoordinate インスタンスに変換したり、その逆に変換したりすることができる。
また、geocode() 関数もオーバーロードされており、ユーザーがフリーテキストのジオコーディング操作を実行できるようになっています。提供された文字列が住所として解釈できる場合は、座標情報にジオコーディングすることができます。
QGeoCodingManager のインスタンスにはQGeoServiceProvider::geocodingManager() でアクセスできる。
メンバー関数 ドキュメント
[virtual noexcept]
QGeoCodingManager::~QGeoCodingManager()
このマネージャを破棄する。
[signal]
void QGeoCodingManager::errorOccurred(QGeoCodeReply *reply, QGeoCodeReply::Error error, const QString &errorString = QString())
このシグナルは、reply の処理でエラーが検出されたときに発せられます。QGeoCodingManager::finished() シグナルは、おそらくその後に続きます。
エラーはエラーコードerror で示される。errorString が空でない場合、エラーのテキスト記述が含まれる。
このシグナルとQGeoCodeReply::errorOccurred() は同時に発せられる。
注意: このシグナルに接続されたスロット内のreply オブジェクトを削除しないでください。代わりにdeleteLater() を使用してください。
[signal]
void QGeoCodingManager::finished(QGeoCodeReply *reply)
このシグナルは、reply の処理が終了したときに発せられます。
reply::error() がQGeoCodeReply::NoError と等しい場合、処理は正常に終了しています。
このシグナルとQGeoCodeReply::finished() は同時に発せられます。
注意: このシグナルに接続されているスロットのreply オブジェクトを削除しないでください。代わりにdeleteLater() を使用してください。
QGeoCodeReply *QGeoCodingManager::geocode(const QGeoAddress &address, const QGeoShape &bounds = QGeoShape())
address のジオコーディングを開始します。 ジオコーディングとは、指定された住所に対応する座標を見つける処理です。
QGeoCodeReply オブジェクトが返される。このオブジェクトは、ジオコーディング操作を管理したり、操作の結果を返したりするために使用できる。
このマネージャと返されたQGeoCodeReply オブジェクトは、操作が完了した場合やエラーが発生した場合にシグナルを発する。
supportsGeocoding() が false を返すと、QGeoCodeReply::UnsupportedOptionError が発生する。
操作が完了したら、QGeoCodeReply::locations() を使用して結果を取得することができます。QGeoLocation オブジェクトのリストで構成されます。これらのオブジェクトは、座標データと住所データの組み合わせを表す。
結果で返される住所データは、address とは異なる可能性があります。これは通常、ジオコーディングサービスのバックエンドが異なる住所の正規形を使用している場合や、address が部分的にしか記入されていない場合に発生します。
bounds が NULL ではなく、有効なQGeoShape である場合、bounds に含まれるものに結果を限定するために使用される。address が部分的にしか記入されていない場合、サービスが指定されたデータにマッチするすべてのジオコーディングを試みるので、これは特に有用である。
返された応答オブジェクトを削除するのはユーザの責任であるが、これはQGeoCodingManager::finished()、QGeoCodingManager::errorOccurred()、QGeoCodeReply::finished()、QGeoCodeReply::errorOccurred()に接続されたスロットで、deleteLater()を使用して行うことができる。
QGeoCodeReply *QGeoCodingManager::geocode(const QString &address, int limit = -1, int offset = 0, const QGeoShape &bounds = QGeoShape())
address にマッチする場所のジオコーディングを開始する。
QGeoCodeReply オブジェクトが返され、ジオコーディング操作の管理と操作結果の返送に使用できる。
このマネージャと返されたQGeoCodeReply オブジェクトは、操作が完了した場合やエラーが発生した場合にシグナルを発します。
操作が完了したら、QGeoCodeReply::locations() を使って結果を取得することができる。QGeoLocation オブジェクトのリストで構成される。これらのオブジェクトは、座標データとアドレスデータの組み合わせを表す。
limit が -1 の場合は結果セット全体が返され、そうでない場合は最大でlimit の結果が返される。
offset パラメータは、ジオコーディングサービスに最初のoffset 結果を返さないように依頼するために使用する。
limit とoffset の結果は、ページングを実装するために一緒に使用される。
bounds が NULL でなく、有効なQGeoShape である場合、bounds に含まれる結果に限定するために使用される。
返されたリプライオブジェクトを削除するのはユーザーの責任であるが、これはQGeoCodingManager::finished()、QGeoCodingManager::errorOccurred()、QGeoCodeReply::finished()、QGeoCodeReply::errorOccurred()に接続されたスロットで、deleteLater()を使用して行うことができる。
QLocale QGeoCodingManager::locale() const
このジオコーディングマネージャが、結果に使用する言語のヒントを得るために使用したロケールを返します。
setLocale()も参照ください 。
QString QGeoCodingManager::managerName() const
このジオコーディングマネージャの振る舞いを実装したエンジンの名前を返します。
managerName() とmanagerVersion() の組み合わせは、プラグインの実装の中で一意でなければなりません。
int QGeoCodingManager::managerVersion() const
このジオコーディングマネージャの振る舞いを実装するエンジンのバージョンを返します。
managerName() と managerVersion() の組み合わせは、プラグインの実装の中で一意でなければならない。
QGeoCodeReply *QGeoCodingManager::reverseGeocode(const QGeoCoordinate &coordinate, const QGeoShape &bounds = QGeoShape())
coordinate のリバースジオコーディングを開始する。逆ジオコーディングとは、与えられた座標に対応する住所を見つける処理です。
QGeoCodeReply オブジェクトが返されます。このオブジェクトは、逆ジオコーディング操作を管理したり、操作の結果を返したりするために使用できます。
このマネージャと返されたQGeoCodeReply オブジェクトは、操作が完了した場合やエラーが発生した場合を示すシグナルを発する。
supportsReverseGeocoding() が false を返すと、QGeoCodeReply::UnsupportedOptionError が発生する。
その時点で、QGeoCodeReply::locations ()を使用して、QGeoLocation オブジェクトのリストで構成される結果を取得することができる。これらのオブジェクトは、座標データと住所データの組み合わせを表します。
結果で返される座標データは、coordinate とは異なる場合があります。 これは通常、リバースジオコーディングサービスのバックエンドが、一致する住所に近い座標にシフトした場合や、バックエンドが複数の詳細レベルで結果を返した場合に発生します。
リバースジオコーディングサービスのバックエンドから複数の結果が返された場合、それらは詳細度の高い順に提供される。これは通常、バックエンドが複数の詳細レベルでリバースジオコーディングするように設定されている場合に発生します。例として、いくつかのサービスでは、番地、市区町村、州、国の住所と座標のペアを返します。
bounds が NULL でなく、有効なQGeoRectangle である場合、bounds に含まれるものに結果を限定するために使用される。
返されたリプライオブジェクトを削除するのはユーザーの責任であるが、これはQGeoCodingManager::finished()、QGeoCodingManager::errorOccurred()、QGeoCodeReply::finished()、QGeoCodeReply::errorOccurred()に接続されたスロットで、deleteLater()を使用して行うことができる。
void QGeoCodingManager::setLocale(const QLocale &locale)
このマネージャが使用するロケールをlocale に設定する。
このジオコーディングマネージャが結果を異なる言語で返すことをサポートしている場合、結果はlocale の言語で返されます。
これが設定されていない場合は、デフォルトでシステムロケールが使用されます。
locale()も参照してください 。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。