QGeoCodingManagerEngine Class
QGeoCodingManagerEngine クラスは、ジオコーディング操作のサポートを提供したいQGeoServiceProvider プラグインの実装者に、インターフェイスと便利なメソッドを提供します。詳細...
Header: | #include <QGeoCodingManagerEngine> |
qmake: | QT += location |
Inherits: | QObject |
パブリック関数
QGeoCodingManagerEngine(const QVariantMap ¶meters, QObject *parent = nullptr) | |
virtual | ~QGeoCodingManagerEngine() |
virtual QGeoCodeReply * | geocode(const QGeoAddress &address, const QGeoShape &bounds) |
virtual QGeoCodeReply * | geocode(const QString &address, int limit, int offset, const QGeoShape &bounds) |
QLocale | locale() const |
QString | managerName() const |
int | managerVersion() const |
virtual QGeoCodeReply * | reverseGeocode(const QGeoCoordinate &coordinate, const QGeoShape &bounds) |
void | setLocale(const QLocale &locale) |
シグナル
void | errorOccurred(QGeoCodeReply *reply, QGeoCodeReply::Error error, const QString &errorString = QString()) |
void | finished(QGeoCodeReply *reply) |
詳細説明
注意: バックエンドのクラスについては、ソースやバイナリの互換性は保証されていません。APIは開発されたQtのバージョンでのみ動作が保証されています。API の変更はマイナーリリースでのみ行われます。(6.6や6.7など)。
デフォルトの実装では、supportsGeocoding() と supportsReverseGeocoding() は false を返し、geocode() とreverseGeocode() はQGeoCodeReply::UnsupportedOptionError を発生させます。
サービスプロバイダがジオコーディングをサポートしている場合、サブクラスはgeocode() の実装を提供し、geocode() が呼び出される前のある時点で setSupportsGeocoding(true) を呼び出す必要があります。
同様に、サービスプロバイダがリバースジオコーディングをサポートしている場合、サブクラスはreverseGeocode() の実装を提供し、reverseGeocode() が呼び出される前のある時点で setSupportsReverseGeocoding(true) を呼び出す必要があります。
QGeoCodingManagerEngine のサブクラスは、エンジンによって使用されるQGeoCodeReply インスタンスにエンジン固有のデータ (ネットワーク ベースのサービス用のQNetworkReply オブジェクトなど) を追加するために、内部的にサブクラス foQGeoCodeReply を使用することがよくあります。
QGeoCodingManagerも参照してください 。
メンバ関数のドキュメント
[explicit]
QGeoCodingManagerEngine::QGeoCodingManagerEngine(const QVariantMap ¶meters, QObject *parent = nullptr)
指定 さ れたparent で新 し いエ ン ジ ン を構築 し 、parameters を使用 し て、 エン ジ ンに実装固有のデー タ を渡 し ます。
[virtual noexcept]
QGeoCodingManagerEngine::~QGeoCodingManagerEngine()
このエンジンを破壊する。
[signal]
void QGeoCodingManagerEngine::errorOccurred(QGeoCodeReply *reply, QGeoCodeReply::Error error, const QString &errorString = QString())
このシグナルは、reply の処理でエラーが検出されたときに発せられる。QGeoCodingManagerEngine::finished() シグナルは、おそらくその後に続く。
エラーはエラーコードerror で示される。errorString が空でない場合、エラーのテキスト記述が含まれる。
このシグナルとQGeoCodeReply::errorOccurred() は同時に発せられる。
注意: このシグナルに接続されたスロット内のreply オブジェクトを削除しないでください。代わりにdeleteLater() を使用してください。
[signal]
void QGeoCodingManagerEngine::finished(QGeoCodeReply *reply)
このシグナルは、reply の処理が終了したときに発せられる。
reply::error() がQGeoCodeReply::NoError と等しい場合、処理は正常に終了した。
このシグナルとQGeoCodeReply::finished() は同時に発せられる。
注意: このシグナルに接続されているスロットのreply オブジェクトを削除しないでください。代わりにdeleteLater() を使用してください。
[virtual]
QGeoCodeReply *QGeoCodingManagerEngine::geocode(const QGeoAddress &address, const QGeoShape &bounds)
address のジオコーディングを開始する。 ジオコーディングとは、与えられた住所に対応する座標を見つける処理のことである。
QGeoCodeReply オブジェクトが返されます。このオブジェクトは、ジオコーディング操作を管理したり、操作の結果を返したりするために使用できます。
このエンジンと返されたQGeoCodeReply オブジェクトは、操作が完了したか、エラーが発生したかを示すシグナルを発します。
supportsGeocoding() が false を返すと、QGeoCodeReply::UnsupportedOptionError が発生します。
操作が完了したら、QGeoCodeReply::locations() を使用して結果を取得することができます。QGeoLocation オブジェクトのリストで構成されます。これらのオブジェクトは、座標データと住所データの組み合わせを表す。
結果で返される住所データは、address とは異なる可能性があります。これは通常、ジオコーディングサービスのバックエンドが異なる住所の正規形を使用している場合や、address が部分的にしか記入されていない場合に発生します。
bounds が NULL ではなく、有効なQGeoShape である場合、bounds に含まれるものに結果を限定するために使用される。これは、address が部分的にしか記入されていない場合に特に有用である。このサービスは、指定されたデータに対してすべての一致するジオコーディングを試みるからである。
返された応答オブジェクトを削除するのはユーザーの責任であるが、これはQGeoCodingManagerEngine::finished()、QGeoCodingManagerEngine::errorOccurred()、QGeoCodeReply::finished()、QGeoCodeReply::errorOccurred()に接続されたスロットで、deleteLater()を使用して行うことができる。
[virtual]
QGeoCodeReply *QGeoCodingManagerEngine::geocode(const QString &address, int limit, int offset, const QGeoShape &bounds)
address にマッチする場所のジオコーディングを開始する。
QGeoCodeReply オブジェクトが返され、ジオコーディング操作の管理と操作結果の返送に使用できる。
このエンジンと返されたQGeoCodeReply オブジェクトは、操作が完了した場合やエラーが発生した場合にシグナルを発します。
操作が完了したら、QGeoCodeReply::locations() を使って結果を取得することができる。QGeoLocation オブジェクトのリストで構成される。これらのオブジェクトは、座標データとアドレスデータの組み合わせを表す。
limit が -1 の場合は結果セット全体が返され、そうでない場合は最大でlimit の結果が返される。
offset パラメータは、最初のoffset 結果を返さないようにジオコーディングサービスに依頼するために使用される。
limit とoffset の結果は、ページングを実装するために一緒に使用される。
bounds が NULL でなく、有効なQGeoShape である場合、bounds に含まれる結果に限定するために使用される。
返されたリプライ・オブジェクトを削除するのはユーザーの責任であるが、これはQGeoCodingManagerEngine::finished()、QGeoCodingManagerEngine::errorOccurred()、QGeoCodeReply::finished()、QGeoCodeReply::errorOccurred()に接続されたスロットで、deleteLater()を使用して行うことができる。
QLocale QGeoCodingManagerEngine::locale() const
このジオコーディングマネージャが、結果に使用する言語を指定する際に使用するロケールを返します。
setLocale()も参照 ください。
QString QGeoCodingManagerEngine::managerName() const
このエンジンの実装が、他のプラグインが提供する実装と区別するために使用する名前を返します。
managerName() とmanagerVersion() の組み合わせは、プラグインの実装間で一意でなければなりません。
int QGeoCodingManagerEngine::managerVersion() const
このエンジン実装のバージョンを返します。
managerName() と managerVersion() の組み合わせは、プラグインの実装間で一意でなければなりません。
[virtual]
QGeoCodeReply *QGeoCodingManagerEngine::reverseGeocode(const QGeoCoordinate &coordinate, const QGeoShape &bounds)
coordinate の逆ジオコーディングを開始する。逆ジオコーディングは、与えられた座標に対応する住所を見つけるプロセスです。
QGeoCodeReply オブジェクトが返され、これを使用して逆ジオコーディング操作を管理し、操作の結果を返すことができます。
このエンジンと返されたQGeoCodeReply オブジェクトは、操作が完了した場合やエラーが発生した場合を示すシグナルを発します。
supportsReverseGeocoding() が false を返すと、QGeoCodeReply::UnsupportedOptionError が発生する。
その時点で、QGeoCodeReply::locations ()を使用して、QGeoLocation オブジェクトのリストで構成される結果を取得することができる。これらのオブジェクトは、座標データと住所データの組み合わせを表します。
結果で返される座標データは、coordinate とは異なる場合があります。 これは通常、リバースジオコーディングサービスのバックエンドが、一致する住所に近い座標にシフトした場合や、バックエンドが複数の詳細レベルで結果を返した場合に発生します。
リバースジオコーディングサービスのバックエンドから複数の結果が返された場合、それらは詳細度の高い順に提供される。これは通常、バックエンドが複数の詳細レベルでリバースジオコーディングするように設定されている場合に発生します。例として、いくつかのサービスでは、番地、市区町村、州、国の住所と座標のペアを返します。
bounds が NULL でなく、かつ有効なQGeoShape である場合、bounds に含まれるものに結果を限定するために使用される。
返された応答オブジェクトを削除するのはユーザーの責任であるが、これはQGeoCodingManagerEngine::finished()、QGeoCodingManagerEngine::errorOccurred()、QGeoCodeReply::finished()、QGeoCodeReply::errorOccurred()に接続されたスロットで、deleteLater()を使用して行うことができる。
void QGeoCodingManagerEngine::setLocale(const QLocale &locale)
このマネージャが使用するロケールをlocale に設定する。
このジオコーディングマネージャが結果を異なる言語で返すことをサポートしている場合、結果はlocale の言語で返されます。
これが設定されていない場合、使用されるロケールのデフォルトはシステムロケールです。
locale()も参照 。
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.