현재 위치 Google 지도 Flutter

모바일 애플리케이션에서 위치 정보 표시는 필수 기능입니다. 사용자는 위치 공유에서 더 많은 정보를 얻을 수 있습니다.

Flutter 애플리케이션에서 현재 위치를 가져오는 방법은 무엇입니까? 이 게시물에서는 Google 지도에서 현재 위치를 표시하는 방법을 다룰 것입니다.



이를 위해 google_maps_plugin을 사용합니다.

1단계: Flutter 애플리케이션 생성 2단계: pubspec.yaml 파일에 플러그인 추가

dev_dependencies:
   google_maps_flutter:


3단계: 요청 권한으로 매니페스트 파일 업데이트(Android)

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>


4단계: Google 지도 추가 이 Google 지도 위젯은 화면에 지도를 로드합니다.

GoogleMap(
            initialCameraPosition: _cameraPosition,
            onMapCreated: (GoogleMapController controller){
              _controller=(controller);
               _controller.animateCamera(

CameraUpdate.newCameraPosition(_cameraPosition));
            },

            markers:_markers ,
            onCameraIdle: (){
              setState(() {

              });
            },
          )



5단계: 현재 위치를 가져오기 위한 코드 이 코드는 비동기 함수 내에 있어야 합니다.

Future getCurrentLocation() async {
  LocationPermission permission = await Geolocator.checkPermission();
  if (permission != PermissionStatus.granted) {
    LocationPermission permission = await Geolocator.requestPermission();
    if (permission != PermissionStatus.granted)
      getLocation();
    return;
  }
  getLocation();
}
List<Address> results = [];
getLocation() async
{
  Position position = await Geolocator.getCurrentPosition(desiredAccuracy: LocationAccuracy.high);
  print(position.latitude);



  setState(() {
    latlong=new LatLng(position.latitude, position.longitude);
    _cameraPosition=CameraPosition(target:latlong,zoom: 10.0 );
    if(_controller!=null)
      _controller.animateCamera(

          CameraUpdate.newCameraPosition(_cameraPosition));



    _markers.add(Marker(markerId: MarkerId("a"),draggable:true,position: latlong,icon: 
BitmapDescriptor.defaultMarkerWithHue(

        BitmapDescriptor.hueBlue),onDragEnd: (_currentlatLng){
      latlong = _currentlatLng;

    }));
  });
}


Read Complete Example with code

좋은 웹페이지 즐겨찾기