getCurrentPosition ํจ์๋ฅผ ํธ์ถํ๋ ๋์ MissingPluginException์ด ๋ฐ์ํ๋ฉด ์ด ํจ์ placemarkFromCoordinates์์๋ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
[ ์ค๋ฅ:flutter/lib/ui/ui_dart_state.cc (157)] ์ฒ๋ฆฌ๋์ง ์์ ์์ธ: MissingPluginException(com.baseflow.flutter/location_permissions ์ฑ๋์์ checkPermissionStatus ๋ฉ์๋์ ๋ํ ๊ตฌํ์ ์ฐพ์ ์ ์์)
E/flutter(32250): #0 MethodChannel.invokeMethod(ํจํค์ง:flutter/src/services/platform_channel.dart:319:7)
E/ํ๋ฌํฐ(32250):
E/flutter(32250): #1 LocationPermissions.checkPermissionStatus(ํจํค์ง:location_permissions/src/location_permissions.dart:38:30)
E/flutter (32250): #2 Geolocator._getLocationPermission (ํจํค์ง:geolocator/geolocator.dart:201:10)
E/flutter (32250): #3 Geolocator.getCurrentPosition (ํจํค์ง:geolocator/geolocator.dart:101:47)
E/flutter(32250): #4 _SearchPageState.callback(ํจํค์ง:gramstands/pages/search_page.dart:181:18)
E/flutter (32250): #5 callbackDispatcher.
E/flutter (32250): #6 MethodChannel._handleAsMethodCall (ํจํค์ง:flutter/src/services/platform_channel.dart:402:55)
E/flutter (32250): #7 MethodChannel.setMethodCallHandler.
E/flutter(32250): #8 _DefaultBinaryMessenger.handlePlatformMessage(ํจํค์ง:flutter/src/services/binding.dart:200:33)
E/ํ๋ฌํฐ(32250): #9 _invoke3.
E/flutter(32250): #10 _rootRun(dart:async/zone.dart:1126:13)
์ ์/ํ๋ฌํฐ(32250): #11 _CustomZone.run(dart:async/zone.dart:1023:19)
์ ์/ํ๋ฌํฐ(32250): #12 _CustomZone.runGuarded(dart:async/zone.dart:925:7)
E/flutter (32250): #13 _invoke3 (dart:ui/hooks.dart:302:10)
E/flutter (32250): #14 _dispatchPlatformMessage (dart:ui/hooks.dart:162:5)
์๋์ผ๋ก ๊ถํ์ ํ์ธํ๊ณ ์ด์ ๋ํ ๊ธฐ๋ฅ์ ๊ฐ์ ธ์ต๋๋ค.
๋ชจ๋ ์ ์ ์ฝ๋ฐฑ ๋ฉ์๋์์ ํจ์ ์๋์์ ๋ฐฉ๊ธ ํธ์ถ๋์์ต๋๋ค.
์ ์ ๋ฌดํจ ์ฝ๋ฐฑ(์์น ์์น, GeofenceEvent geoEvent) ๋น๋๊ธฐ {
Geolocator().getCurrentPosition().then((์์น) {
print("์ฝ๋ฐฑ์ ํ์ฌ ์์น => ${position.toJson()}");
});
}
์์ฌ ์์ฝ(๋ชจ๋ ์ธ๋ถ ์ ๋ณด๋ฅผ ๋ณด๋ ค๋ฉด flutter Doctor -v ์คํ):
[โ] Flutter(์ฑ๋ ์์ ๋ฒ์ , v1.12.13+hotfix.8, Microsoft Windows [๋ฒ์ 10.0.18362.720], ๋ก์ผ์ผ en-IN)
[โ] Android ํด์ฒด์ธ - Android ๊ธฐ๊ธฐ์ฉ ๊ฐ๋ฐ(Android SDK ๋ฒ์ 29.0.0)
[โ] ์๋๋ก์ด๋ ์คํ๋์ค(๋ฒ์ 3.6)
[โ] VS ์ฝ๋(๋ฒ์ 1.43.2)
[โ] ์ฐ๊ฒฐ๋ ์ฅ์น(1๊ฐ ์ฌ์ฉ ๊ฐ๋ฅ)
โข ๋ฐ๊ฒฌ๋ ๋ฌธ์ ๊ฐ ์์ต๋๋ค!
**๋ฒ์ : 5.3.0
ํ๋ซํผ:
์ด ๋ฌธ์ ๋ ํ๋ฌํฐ์ ์ ์ ๋ฉ์๋์์ ํจ์๋ฅผ ์์ฑํ๊ธฐ ๋๋ฌธ์ ๋ฐ์ํฉ๋๋ค. ์ ์ ๋ฉ์๋ ์ธ๋ถ์์๋ ์๋ํฉ๋๋ค. ๊ฐ์ฌ ํด์.
https://stackoverflow.com/a/51244003/7669884
๐ ๋ฒ๊ทธ ์ ๊ณ
getCurrentPosition ํจ์๋ฅผ ํธ์ถํ๋ ๋์ MissingPluginException์ด ๋ฐ์ํ๋ฉด ์ด ํจ์ placemarkFromCoordinates์์๋ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
[์ค๋ฅ:flutter/lib/ui/ui_dart_state.cc(157)] ์ฒ๋ฆฌ๋์ง ์์ ์์ธ: MissingPluginException(com.baseflow.flutter/location_permissions ์ฑ๋์์ checkPermissionStatus ๋ฉ์๋์ ๋ํ ๊ตฌํ์ ์ฐพ์ ์ ์์)
E/flutter(32250): #0 MethodChannel.invokeMethod(ํจํค์ง:flutter/src/services/platform_channel.dart:319:7)
E/ํ๋ฌํฐ(32250):
E/flutter(32250): #1 LocationPermissions.checkPermissionStatus(ํจํค์ง:location_permissions/src/location_permissions.dart:38:30)
E/flutter (32250): #2 Geolocator._getLocationPermission (ํจํค์ง:geolocator/geolocator.dart:201:10)
E/flutter (32250): #3 Geolocator.getCurrentPosition (ํจํค์ง:geolocator/geolocator.dart:101:47)
E/flutter(32250): #4 _SearchPageState.callback(ํจํค์ง:gramstands/pages/search_page.dart:181:18)
E/flutter (32250): #5 callbackDispatcher. (ํจํค์ง:geofence/callback_dispatcher.dart:25:13)
E/flutter (32250): #6 MethodChannel._handleAsMethodCall (ํจํค์ง:flutter/src/services/platform_channel.dart:402:55)
E/flutter (32250): #7 MethodChannel.setMethodCallHandler. (ํจํค์ง:flutter/src/services/platform_channel.dart:370:54)
E/flutter(32250): #8 _DefaultBinaryMessenger.handlePlatformMessage(ํจํค์ง:flutter/src/services/binding.dart:200:33)
E/ํ๋ฌํฐ(32250): #9 _invoke3. (dart:ui/hooks.dart:303:15)
E/flutter(32250): #10 _rootRun(dart:async/zone.dart:1126:13)
์ ์/ํ๋ฌํฐ(32250): #11 _CustomZone.run(dart:async/zone.dart:1023:19)
์ ์/ํ๋ฌํฐ(32250): #12 _CustomZone.runGuarded(dart:async/zone.dart:925:7)
E/flutter (32250): #13 _invoke3 (dart:ui/hooks.dart:302:10)
E/flutter (32250): #14 _dispatchPlatformMessage (dart:ui/hooks.dart:162:5)์์๋๋ ํ๋
์๋์ผ๋ก ๊ถํ์ ํ์ธํ๊ณ ์ด์ ๋ํ ๊ธฐ๋ฅ์ ๊ฐ์ ธ์ต๋๋ค.
๋ฒ์ ๋จ๊ณ
๋ชจ๋ ์ ์ ์ฝ๋ฐฑ ๋ฉ์๋์์ ํจ์ ์๋์์ ๋ฐฉ๊ธ ํธ์ถ๋์์ต๋๋ค.
์ ์ ๋ฌดํจ ์ฝ๋ฐฑ(์์น ์์น, GeofenceEvent geoEvent) ๋น๋๊ธฐ {
Geolocator().getCurrentPosition().then((์์น) {
print("์ฝ๋ฐฑ์ ํ์ฌ ์์น => ${position.toJson()}");
});
}๊ตฌ์ฑ
์์ฌ ์์ฝ(๋ชจ๋ ์ธ๋ถ ์ ๋ณด๋ฅผ ๋ณด๋ ค๋ฉด flutter Doctor -v ์คํ):
[โ] Flutter(์ฑ๋ ์์ ๋ฒ์ , v1.12.13+hotfix.8, Microsoft Windows [๋ฒ์ 10.0.18362.720], ๋ก์ผ์ผ en-IN)[โ] Android ํด์ฒด์ธ - Android ๊ธฐ๊ธฐ์ฉ ๊ฐ๋ฐ(Android SDK ๋ฒ์ 29.0.0)
[โ] ์๋๋ก์ด๋ ์คํ๋์ค(๋ฒ์ 3.6)
[โ] VS ์ฝ๋(๋ฒ์ 1.43.2)
[โ] ์ฐ๊ฒฐ๋ ์ฅ์น(1๊ฐ ์ฌ์ฉ ๊ฐ๋ฅ)โข ๋ฐ๊ฒฌ๋ ๋ฌธ์ ๊ฐ ์์ต๋๋ค!
**๋ฒ์ : 5.3.0
ํ๋ซํผ:
- [์์ง ํ์ธ๋์ง ์์] ๐ฑ iOS
- [x] ๐ค ์๋๋ก์ด๋
๋ช ๋ น ํ๋กฌํํธ๋ฅผ ํตํด ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํํฉ๋๋ค..flutter run