forwardGeocode method

Future<Map<String, dynamic>?> forwardGeocode(
  1. String address
)

//////////// //////////// Forward geocoding (address to coordinates)

Implementation

// II.C - Geocoding Methods
///////////////
/// Forward geocoding (address to coordinates)
Future<Map<String, dynamic>?> forwardGeocode(String address) async {
  if (address.isEmpty) return null;

  try {
    final encodedAddress = Uri.encodeComponent(address);
    final url = Uri.https(_baseUrl, '$_geocodingPath/$encodedAddress.json', {
      'access_token': accessToken,
      'limit': '1',
    });

    final response = await http.get(url);

    if (response.statusCode == 200) {
      final data = json.decode(response.body);

      if (data['features'] != null && data['features'].isNotEmpty) {
        return {
          'coordinates': data['features'][0]['center'],
          'place_name': data['features'][0]['place_name'],
          'full_response': data,
        };
      }
    }

    return null;
  } catch (e) {
    print('Forward geocoding error: $e');
    return null;
  }
}