Flutter-geolocator: getCurrentPosition ์•ฑ ๋‹ซ๊ธฐ [iOS]

์— ๋งŒ๋“  2020๋…„ 08์›” 19์ผ  ยท  6์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: Baseflow/flutter-geolocator

๐Ÿ› ๋ฒ„๊ทธ ๋ณด๊ณ ์„œ

getCurrentPosition์„ ์‚ฌ์šฉํ•˜๋ฉด ์•ฑ์ด ๋‹ซํž™๋‹ˆ๋‹ค.

๋ฒ„์ „ : 5.3.2 + 2

ํ”Œ๋žซํผ:

  • [X] : iphone : iOS
  • [] : ๋กœ๋ด‡ : Android

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

@ samo92 , @vijayanbits ์ฃผ๋ง ๋™์•ˆ ์ €๋Š” ์œ„์น˜ ์„œ๋น„์Šค๊ฐ€ ํ™œ์„ฑํ™”๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ๊ถŒํ•œ ๋ฐ๋ณด๊ณ ์™€ ๊ด€๋ จ๋œ ๋งŽ์€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” pub.dev ์— ๋ฒ„์ „ 6.0.0 ์˜

์‹œ๋„ํ•ด ๋ณด๊ณ ์ด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜๋Š”์ง€ ๋ณผ ์ˆ˜ ์žˆ๋‹ค๋ฉด ๋Œ€๋‹จํžˆ ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋„ˆ์—๊ฒŒ ๋“ฃ๊ธฐ๋ฅผ ๋ฐ”๋ž˜.

๋ชจ๋“  6 ๋Œ“๊ธ€

ios/Runner/Info.plist ํŒŒ์ผ์— ํ•„์š”ํ•œ ๊ตฌ์„ฑ์„ ์ถ”๊ฐ€ ํ–ˆ์Šต๋‹ˆ๊นŒ (README.md์˜ ๊ถŒํ•œ ์„น์…˜ ์ฐธ์กฐ)?

์•ˆ๋…•ํ•˜์„ธ์š”, ์ œ info.plist๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

NSLocationWhenInUseUsageDescription
์ด ์•ฑ์„ ์—ด ๋•Œ ์œ„์น˜์— ์•ก์„ธ์Šคํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.
NSLocationAlwaysUsageDescription
์ด ์•ฑ์€ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์žˆ์„ ๋•Œ ์œ„์น˜์— ์•ก์„ธ์Šคํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.
NSLocationAlwaysAndWhenInUseUsageDescription
์ด ์•ฑ์€ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์—ด๋ ค์žˆ์„ ๋•Œ ์œ„์น˜์— ์•ก์„ธ์Šคํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

๋‚ด ์•ฑ์—์„œ FAB๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.

getPos () {
์‹œํ—˜{
์ตœ์ข… resp = await mGeolocator.getCurrentPosition ();
} catch (e) {
print (e.toString);
}
}

Android์—์„œ๋Š” ์™„๋ฒฝํ•˜๊ฒŒ ์ž‘๋™ํ•˜์ง€๋งŒ iOS์—์„œ๋Š” requestPermission์ด ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๊ณ  ์•ฑ์ด ๋‹ซํžˆ๊ณ  ๋””๋ฒ„๊ทธ ์ฝ˜์†”์€ ์˜ˆ์™ธ๋ฅผ ์ธ์‡„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

iOS ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์—์„œ๋„ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์•ฑ์ด ๋‹ซํž™๋‹ˆ๋‹ค.
Android ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์—์„œ ์ž˜ ์ž‘๋™ํ•˜๊ณ  ์œ„์น˜๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚ด info.plist๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
NSLocationWhenInUseUsageDescription
์ด ์•ฑ์„ ์—ด ๋•Œ ์œ„์น˜์— ์•ก์„ธ์Šคํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.
NSLocationAlwaysUsageDescription
์ด ์•ฑ์€ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์žˆ์„ ๋•Œ ์œ„์น˜์— ์•ก์„ธ์Šคํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.
NSLocationAlwaysAndWhenInUseUsageDescription
์ด ์•ฑ์€ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์—ด๋ ค์žˆ์„ ๋•Œ ์œ„์น˜์— ์•ก์„ธ์Šคํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

๋‚ด ์ฝ”๋“œ :

void getLocation () async {

Position position = await Geolocator()
    .getCurrentPosition(desiredAccuracy: LocationAccuracy.low);

print(position);

}

๋Œ€์ƒ์—์„œ-> ์„œ๋ช… ๋ฐ ๊ธฐ๋Šฅ ํƒญ-> ๊ธฐ๋Šฅ ์ถ”๊ฐ€-> ๋ฐฐ๊ฒฝ ๋ชจ๋“œ ์„ ํƒ
์•„๋ž˜์—์„œ ์˜ต์…˜์„ ์„ ํƒํ•˜์„ธ์š”.

image

์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์— ์œ„์น˜๊ฐ€ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.
์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ-> ๋””๋ฒ„๊ทธ-> ์œ„์น˜-> ์‚ฌ์šฉ์ž ์ง€์ • ์œ„์น˜ ...
image

@ samo92 , @vijayanbits ์ฃผ๋ง ๋™์•ˆ ์ €๋Š” ์œ„์น˜ ์„œ๋น„์Šค๊ฐ€ ํ™œ์„ฑํ™”๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ๊ถŒํ•œ ๋ฐ๋ณด๊ณ ์™€ ๊ด€๋ จ๋œ ๋งŽ์€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” pub.dev ์— ๋ฒ„์ „ 6.0.0 ์˜

์‹œ๋„ํ•ด ๋ณด๊ณ ์ด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜๋Š”์ง€ ๋ณผ ์ˆ˜ ์žˆ๋‹ค๋ฉด ๋Œ€๋‹จํžˆ ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋„ˆ์—๊ฒŒ ๋“ฃ๊ธฐ๋ฅผ ๋ฐ”๋ž˜.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰