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()も参照してください 。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。