Как получить автозаполнение местоположения мест во Флаттере с широтой и долготой повернутого места? - PullRequest
0 голосов
/ 23 марта 2020

В моем приложении я хочу, чтобы пользователь печатал место (и flutter_google_places должен показывать подсказки мест). Затем я хочу получить широту и долготу того места, куда он нажимает.

Проблема: я видел этот ответ: Как создать простой поиск адресов карт Google с автозаполнением во флаттере и получить широту и долготу ?

, что похоже на мой вопрос, но у меня не работает!

Мой код:

Completer<GoogleMapController> _controller = Completer();
final api_key=API_KEY;
GoogleMapsPlaces _places = GoogleMapsPlaces(apiKey: API_KEY);
LocationData user_location=LoginPage.LD;








@override
Widget build(BuildContext context) {

   CameraPosition cuurent_location_of_user = CameraPosition(

   target: LatLng(user_location.latitude,user_location.longitude),
   zoom: 16,
 );


return Scaffold(
  body: Stack(
    children: <Widget>[
      Container(
      child:GoogleMap(
        mapType: MapType.hybrid,
        initialCameraPosition: cuurent_location_of_user,
        onMapCreated: (GoogleMapController controller) {
          _controller.complete(controller);
        },
      )
      ),
      Container(
          alignment: Alignment.center,
          child: RaisedButton(
            onPressed: () async {

               Prediction p =  await PlacesAutocomplete.show(
                  context: context, apiKey: api_key);
              displayPrediction(p);

            },


          )
      ),
    ],
  ),

);
}
Future<Null> displayPrediction(Prediction p) async {
  if (p != null) {
    PlacesDetailsResponse detail =
    await _places.getDetailsByPlaceId(p.placeId);

  var placeId = p.placeId;
  double lat = detail.result.geometry.location.lat;
  double lng = detail.result.geometry.location.lng;

  var address = await Geocoder.local.findAddressesFromQuery(p.description);

  print(lat);
  print(lng);
}

}

Если я попытаюсь: print (p .нанизывать()); Он возвращает ноль. Я не могу найти проблему в своем коде. Я также включил API мест в облачной службе Google и также взял самый последний API_KEY

Спасибо

1 Ответ

0 голосов
/ 26 марта 2020

Я думаю, что получил ответ. Я забыл создать платежный аккаунт в моей облачной платформе Google.

...