google_geocoding_api
此套件實作了 Google 地理編碼 API,支援預設與反向地理搜尋
此套件實作了 Google 地理編碼 API
以下為英文專案原文快照,最新內容請造訪 GitHub。
This package implement Google Geocoding API with only dart dependency(without flutter).
Before working with the package, be sure to read Before you begin and create an API key in Google Developer Console.
This is example code how to use Geocoding Search. Before use it please read Geocoding (latitude/longitude lookup)
import 'package:google_geocoding_api/google_geocoding_api.dart';
Future<void> main() async {
const String googelApiKey = 'YOUR_API_KEY';
final bool isDebugMode = true;
final api = GoogleGeocodingApi(googelApiKey, isLogged: isDebugMode);
final searchResults = await api.search(
'Boston',
language: 'en',
);
}
This is example code how to use Geocoding Reverse Search. Before use it please read Reverse geocoding (address lookup)
import 'package:google_geocoding_api/google_geocoding_api.dart';
Future<void> main() async {
const String googelApiKey = 'YOUR_API_KEY';
final bool isDebugMode = true;
final api = GoogleGeocodingApi(googelApiKey, isLogged: isDebugMode);
final reversedSearchResults = await api.reverse(
'42.360083,-71.05888',
language: 'en',
);
}
This is example code how to use Place Geocoding. Before use it please read Place Geocoding
import 'package:google_geocoding_api/google_geocoding_api.dart';
Future<void> main() async {
const String googelApiKey = 'YOUR_API_KEY';
final bool isDebugMode = true;
final api = GoogleGeocodingApi(googelApiKey, isLogged: isDebugMode);
final placeSearchResults = await api.placeGeocoding(
'ChIJd8BlQ2BZwokRAFUEcm_qrcA',
language: 'en',
);
}
Now you can use .mapToPretty() to get an instance of
GeocodingPrettyAddress instance containing address, city, country, latitude, longitude, postalCode, state, countryCode, streetNumber, streetName, placeId.
Attention: The feature is experimental and may not work exactly as you need. Any suggestions for improvement may be written in the Issue Tracker.
final placeSearchResults = await api.placeGeocoding(
'ChIJd8BlQ2BZwokRAFUEcm_qrcA',
language: 'en',
);
final prettyAddress = placeSearchResults.results.firstOrNull?.mapToPretty();
if (prettyAddress == null) {
return null;
}
print(prettyAddress.postalCode);
print(prettyAddress.streetNumber);
print(prettyAddress.streetName);
print(prettyAddress.city);
print(prettyAddress.state);
print(prettyAddress.placeId);
print(prettyAddress.country);
print(prettyAddress.address);
print(prettyAddress.countryCode);
print(prettyAddress.latitude);
print(prettyAddress.longitude);
Use Issue Tracker for any questions or bug reports.