Flutter-geolocator: Lorsque l'adresse de Geolocator().placemarkFromAddress() n'est pas correcte, comment puis-je obtenir null plutôt qu'exception

Créé le 2 déc. 2019  ·  4Commentaires  ·  Source: Baseflow/flutter-geolocator

Salut!

Cela fonctionne bien lorsque l'adresse de paramètre de Geolocator().placemarkFromAddress() est correcte.
Mais, l'adresse n'est pas correcte (impossible de trouver sur google map), cette fonction renvoie " PlatformException (PlatformException(ERROR_GEOCODNG_ADDRESSNOTFOUND, Unable to find coordonnees matching the fourni address., null)) "
comme cette image
2019-12-02

Donc, si l'adresse n'est pas correcte, comment puis-je obtenir null plutôt que l'exception de 'PlatformException (PlatformException (ERROR_GEOCODNG_ADDRESSNOTFOUND, Impossible de trouver les coordonnées correspondant à l'adresse fournie., null))'?

Tous les 4 commentaires

Salut, tu as résolu ça ?

@NaufalHafizi, vous pouvez simplement essayer... déclaration de capture :

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

Notez que dans le cadre de la version 6.0.0 de geolocator, nous avons déplacé les fonctionnalités de géocodage dans leur propre plugin dédié et supprimé les placemarkFromAddress et placemarkFromCoordinates du plugin de géolocalisation.

@NaufalHafizi, vous pouvez simplement essayer... déclaration de capture :

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

Notez que dans le cadre de la version 6.0.0 de geolocator, nous avons déplacé les fonctionnalités de géocodage dans leur propre plugin dédié et supprimé les placemarkFromAddress et placemarkFromCoordinates du plugin de géolocalisation.

Merci

@NaufalHafizi, vous pouvez simplement essayer... déclaration de capture :

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

Notez que dans le cadre de la version 6.0.0 de geolocator, nous avons déplacé les fonctionnalités de géocodage dans leur propre plugin dédié et supprimé les placemarkFromAddress et placemarkFromCoordinates du plugin de géolocalisation.

Merci

si (e.errorCode == 'ERROR_GEOCODING_ADDRESSNOTFOUND')
ici 'e.errorcode' ne fonctionne pas pour moi
il montre que le getter 'errorcode' n'est pas défini pour le type de 'PlatformException'
allez-vous aider à y faire face.

Cette page vous a été utile?
0 / 5 - 0 notes