【问题标题】:Get a specific point on the map to get location in Place picker获取地图上的特定点以获取地点选择器中的位置
【发布时间】:2021-04-12 11:08:51
【问题描述】:

如何获取地点选择器插件上特定点的位置?除了在上面的文本框中搜索之外,我还需要获取特定点的纬度和经度。有没有办法触摸一个区域并获取位置?这是我当前的代码。谢谢。

PlacePicker(
            apiKey: "000000000000000000000000000000000",
            initialPosition: HomeScreen.kInitialPosition,
            useCurrentLocation: true,
            selectInitialPosition: true,

            //usePlaceDetailSearch: true,
            onPlacePicked: (result) async {
              selectedPlace = result;
              SharedPreferences prefs =
                  await SharedPreferences.getInstance();
              prefs.setString(
                  "Long", selectedPlace.geometry.location.lng.toString());
              prefs.setString(
                  "Lat", selectedPlace.geometry.location.lat.toString());
              // prefs.setString(
              //     "currentLoc", selectedPlace.formattedAddress.toString());
              Navigator.of(context).pop();
              Navigator.pushReplacement(
                  context,
                  MaterialPageRoute(
                      builder: (BuildContext context) =>
                          BottomNavBarWidget()));

              // setState(() {});
            },
            forceSearchOnZoomChanged: true,
            enableMyLocationButton: true,
            enableMapTypeButton: true,
            usePinPointingSearch: true,
            usePlaceDetailSearch: true,
            hintText: "Search here",
            searchingText: "Searching..",
            initialMapType: MapType.hybrid,
            forceAndroidLocationManager: true,
            pinBuilder: (context, state) {
              if (state == PinState.Idle) {
                return Icon(
                  FontAwesomeIcons.mapPin,
                  color: Colors.red,
                  size: 25,
                );
              } else {
                return Icon(
                  FontAwesomeIcons.locationArrow,
                  size: 20,
                );
              }
            },
          );

【问题讨论】:

    标签: flutter google-maps


    【解决方案1】:

    仅使用google_maps_flutter 包(地点选择器插件依赖它来显示地图),您可以执行以下操作以在您点击某个区域时获取该区域的位置:

     final GoogleMap googleMap = GoogleMap(
         onMapCreated: onMapCreated,
          initialCameraPosition: _kInitialPosition, //and/or any other parameters
          onTap: (LatLng pos) {
            setState(() {
             //assign pos value to your LatLng 
             print('${pos.latitude}, ${pos.longitude}');
            });
          },
    

    【讨论】:

    • 您还可以查看 google_maps_flutter 包示例中的 map_click.dart
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-15
    • 2016-08-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多