Flutter-geolocator: Geolocator()。placemarkFromAddress()のアドレスが正しくない場合、例外ではなくnullを取得するにはどうすればよいですか?

作成日 2019年12月02日  ·  4コメント  ·  ソース: Baseflow/flutter-geolocator

こんにちは!

Geolocator()。placemarkFromAddress()のパラメータアドレスが正しい場合にうまく機能します。
しかし、アドレスが正しくありません(Googleマップで見つかりません)。この関数は「PlatformException(PlatformException(ERROR_GEOCODNG_ADDRESSNOTFOUND、指定されたアドレスに一致する座標が見つかりません。、null))」を返します。
この写真のように
2019-12-02

したがって、アドレスが正しくない場合、「PlatformException(PlatformException(ERROR_GEOCODNG_ADDRESSNOTFOUND、指定されたアドレスに一致する座標が見つかりません。、null))」の例外ではなくnullを取得するにはどうすればよいですか?

全てのコメント4件

こんにちは、あなたはこれを解決しましたか?

@NaufalHafiziあなたは単にtry ... catchステートメントでできます:

List<Placemark> placemarks = null;
try {
  placemarks = await Geolocator().placemarkFromAddress(query);
} on PlatformException catch (e) {
  if (e.errorCode == 'ERROR_GEOCODING_ADDRESSNOTFOUND') {
    placemarks = null;
  } else {
    // Don't handle this case so rethrow the exception...
    rethrow;
  }
}

geolocatorバージョン6.0.0の一部として、ジオコーディング機能を専用のプラグインに移動し、geolocatorプラグインからplacemarkFromAddressplacemarkFromCoordinatesを削除したことに注意してください。

@NaufalHafiziあなたは単にtry ... catchステートメントでできます:

List<Placemark> placemarks = null;
try {
  placemarks = await Geolocator().placemarkFromAddress(query);
} on PlatformException catch (e) {
  if (e.errorCode == 'ERROR_GEOCODING_ADDRESSNOTFOUND') {
    placemarks = null;
  } else {
    // Don't handle this case so rethrow the exception...
    rethrow;
  }
}

geolocatorバージョン6.0.0の一部として、ジオコーディング機能を専用のプラグインに移動し、geolocatorプラグインからplacemarkFromAddressplacemarkFromCoordinatesを削除したことに注意してください。

ありがとうございました

@NaufalHafiziあなたは単にtry ... catchステートメントでできます:

List<Placemark> placemarks = null;
try {
  placemarks = await Geolocator().placemarkFromAddress(query);
} on PlatformException catch (e) {
  if (e.errorCode == 'ERROR_GEOCODING_ADDRESSNOTFOUND') {
    placemarks = null;
  } else {
    // Don't handle this case so rethrow the exception...
    rethrow;
  }
}

geolocatorバージョン6.0.0の一部として、ジオコーディング機能を専用のプラグインに移動し、geolocatorプラグインからplacemarkFromAddressplacemarkFromCoordinatesを削除したことに注意してください。

ありがとうございました

if(e.errorCode == 'ERROR_GEOCODING_ADDRESSNOTFOUND')
ここで「e.errorcode」は私のために働いていません
ゲッター「エラーコード」が「プラットフォーム例外」のタイプに対して定義されていないことを示しています
あなたはそれを見るのを手伝ってくれますか。

このページは役に立ちましたか?
0 / 5 - 0 評価