Flutter-geolocator: Ketika alamat Geolocator().placemarkFromAddress() tidak benar, Bagaimana saya bisa mendapatkan null daripada pengecualian

Dibuat pada 2 Des 2019  ·  4Komentar  ·  Sumber: Baseflow/flutter-geolocator

Halo!

Ini bekerja dengan baik ketika alamat parameter Geolocator().placemarkFromAddress() benar.
Tapi, alamatnya salah (tidak dapat ditemukan di google map), fungsi ini mengembalikan " PlatformException (PlatformException(ERROR_GEOCODNG_ADDRESSNOTFOUND, Tidak dapat menemukan koordinat yang cocok dengan alamat yang diberikan., null)) "
seperti gambar ini
2019-12-02

Jadi, jika alamat tidak benar, Bagaimana saya bisa mendapatkan nol daripada pengecualian 'PlatformException (PlatformException(ERROR_GEOCODNG_ADDRESSNOTFOUND, Tidak dapat menemukan koordinat yang cocok dengan alamat yang diberikan., null))'?

Semua 4 komentar

Hai, Anda memecahkan ini?

@NaufalHafizi Anda bisa langsung mencoba...menangkap pernyataan:

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;
  }
}

Perhatikan bahwa sebagai bagian dari geolocator versi 6.0.0 kami telah memindahkan fitur geocoding ke dalam plugin khusus mereka sendiri dan menghapus placemarkFromAddress dan placemarkFromCoordinates dari plugin geolocator.

@NaufalHafizi Anda bisa langsung mencoba...menangkap pernyataan:

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;
  }
}

Perhatikan bahwa sebagai bagian dari geolocator versi 6.0.0 kami telah memindahkan fitur geocoding ke dalam plugin khusus mereka sendiri dan menghapus placemarkFromAddress dan placemarkFromCoordinates dari plugin geolocator.

Terima kasih

@NaufalHafizi Anda bisa langsung mencoba...menangkap pernyataan:

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;
  }
}

Perhatikan bahwa sebagai bagian dari geolocator versi 6.0.0 kami telah memindahkan fitur geocoding ke dalam plugin khusus mereka sendiri dan menghapus placemarkFromAddress dan placemarkFromCoordinates dari plugin geolocator.

Terima kasih

if (e.errorCode == 'ERROR_GEOCODING_ADDRESSNOTFOUND')
di sini 'e.errorcode' tidak berfungsi untuk saya
itu menunjukkan pengambil 'kode kesalahan' tidak ditentukan untuk jenis 'PlatformException'
akan Anda membantu melihat untuk itu.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat