Flutter-geolocator: рдПрдВрдбреНрд░реЙрдЗрдб рдкрд╛рдИ (рдПрдкреАрдЖрдИ 28) рдЬрд┐рдпреЛрд▓реЛрдХреЗрдЯрд░ ()ред getCurrentPosition () рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 2 рдирд╡ре░ 2018  ┬╖  39рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: Baseflow/flutter-geolocator

рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ

рдЬрдм рдореИрдВ рдПрдВрдбреНрд░реЙрдЗрдб рдкрд╛рдИ (рдПрдкреАрдЖрдИ 28) рдХреЙрд▓ рдХреЗ рд╕рд╛рде рдПрдВрдбреНрд░реЙрдЗрдб рдПрдореБрд▓реЗрдЯрд░ рдкрд░ рдЬрд┐рдпреЛрд▓реЛрдХреЗрдЯрд░ ()ред getCurrentPosition () рдЪрд▓рд╛рддрд╛ рд╣реВрдВ рддреЛ рдХреЙрд▓ рдмрд┐рд▓реНрдХреБрд▓ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИред

рдореИрдВ рдПрдкреАрдЖрдИ 27 рд╕реНрдерд╛рди рдкрд░ рдПрдХ рд╣реА рдХреЛрдб рдЪрд▓рд╛рддрд╛ рд╣реВрдВ рдареАрдХ рд╣реИред рдореИрдВрдиреЗ рдирдпрд╛ рдПрдореБрд▓реЗрдЯрд░ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрджрд▓рд╛ред

рд╡рд┐рдиреНрдпрд╛рд╕

рдПрдВрдбреНрд░реЙрдЗрдб рдкрд╛рдИ рдХреЗ рд╕рд╛рде рдПрдВрдбреНрд░реЙрдЗрдб рдПрдореБрд▓реЗрдЯрд░ (рдПрдкреАрдЖрдИ 28)

рд╕рдВрд╕реНрдХрд░рдг: 2.1.0

рдордВрдЪ:

  • [ ] :рдЖрдИрдлреЛрди: рдЖрдИрдУрдПрд╕
  • [рдПрдХреНрд╕]: рд░реЛрдмреЛрдЯ: рдПрдВрдбреНрд░реЙрдЗрдб

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ рдФрд░ рдореИрдВрдиреЗ рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯрд╛рдЗрдордЖрдЙрдЯ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдЬрдм рдЯрд╛рдЗрдордЖрдЙрдЯ рд╣реБрдЖ рддреЛ рдореИрдВ getLastKnownPosition() рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реВрдВ

Geolocator().getCurrentPosition().timeout(Duration(seconds: 10)).then((position) {
      //getting position without problems
      print(position);
    }).catchError((error) {
      if (error is TimeoutException) {
        Geolocator().getLastKnownPosition().then((position) {
          //getting last known position
          print(position);
        }).catchError((error) {
          //handle the exception
        });
      } else {
        //handle the exception
      }
    });

рдЖрдк рд╕реНрдЯреНрд░реАрдо рдХреЗ рд╕рд╛рде рднреА рдРрд╕рд╛ рд╣реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

рд╕рднреА 39 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореИрдВ рднреА, рдХреНрдпрд╛ рдЧрд▓рдд рд╣реИ? :(

рдореЗрд░рд╛ рднреА рдпрд╣реА рд╡рд┐рдЪрд╛рд░ рд╣реИ!

@savjolovs рдЕрдЧрд░ рдореИрдВ рдбрд┐рдмрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдбрд┐рдмрдЧрд░ рдЬрд┐рдпреЛрд▓реЛрдХреЗрдЯрд░ ()ред getCurrentPosition () рдкрд░ рд░реБрдХ рдЬрд╛рддрд╛ рд╣реИред рдорд╣рддреЛрдж рдХреЗ рдмрд╛рдж рдмреНрд░реЗрдХрдкреНрд╡рд╛рдЗрдВрдЯ рд╣рд┐рдЯ рдирд╣реАрдВ рд╣реЛ рд░рд╣реЗ рд╣реИрдВред рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдирд┐рдпрдВрддреНрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреБрдЫ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЛ рдзрдХреНрдХрд╛ рджреЗрдиреЗ рддрдХ рдпрд╣рд╛рдВ рд╡рд╣реА рд╡реНрдпрд╡рд╣рд╛рд░ред
рджреЛ рднреМрддрд┐рдХ рдЙрдкрдХрд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд╕рд╛рде рд╕рдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ред рдкрд╣рд▓реЗ рдПрдВрдбреНрд░реЙрдЗрдб 5 рдХреЗ рд╕рд╛рде - рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рджреВрд╕рд░рд╛ 6 рдХреЗ рд╕рд╛рде - рдирдХрд▓реА рдЬреАрдкреАрдПрд╕ рд╕реНрдерд╛рди рд▓рдЧреЗ рд╣реЛрдиреЗ рддрдХ рдХреЛрдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВред

+1 рдпрд╣рд╛рдБ

рдХрд┐рд╕реА рдХреЛ рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рдХреНрдпрд╛ рдХрд╛рд░рдг рд╣реИ? рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рд╕рдм рдХреБрдЫ рддреЛрдбрд╝ рд░рд╣реА рд╣реИ, рдХреНрдпрд╛ рдХрд┐рд╕реА рдиреЗ рджреВрд╕рд░реА рдкреНрд▓рдЧрдЗрди рдХреА рдХреЛрд╢рд┐рд╢ рдХреА?

рд╕рдорд╕реНрдпрд╛ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рдЬрд╛рдВрдЪ рдХрд░рдирд╛, рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕реНрдерд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреАрдкреАрдПрд╕ рд╕рд┐рдЧреНрдирд▓ рд╣реИ? рдмрд╕ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╡рд╣рд╛рдВ рдмреИрдард╛ рд╣реИ рдФрд░ рдЕрдкрдбреЗрдЯ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐рд╕реА рдирдП рд╕реНрдерд╛рди рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ?

@ibrierley рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмрд┐рдирд╛

рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдРрдк рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдФрд░ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ Android oreo рдкрд░ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛рдПрдВ

рдореИрдВ рдПрдВрдбреНрд░реЙрдЗрдб рд╡реЗрдпрд░ рдШрдбрд╝реА рдХреЗ рд╕рд╛рде рдЭреБрдХрд╛рд╡ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдЬреАрдкреАрдПрд╕ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рд╕рд╛рд░реА рд╕рдорд╕реНрдпрд╛рдПрдВ рдереАрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЬреНрдпрд╛рджрд╛рддрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ (рдпрд╣ рд▓рдВрдмреЗ рд╕рдордп рдХреЗ рдмрд╛рдж рд╕рдордп рд╕рдорд╛рдкреНрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЕрд▓рдЧ рдореБрджреНрджрд╛ рд╣реИ)ред

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рдмрд╣реБрдд рд╕реА рдЪреАрдЬреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ, рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдХреЛрдИ рдЗрдиреНрд╣реЗрдВ рдЬрд╛рдВрдЪ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдорджрдж рдХрд░рддреЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВред

0) рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдЬреАрдкреАрдПрд╕ рд╕рд┐рдЧреНрдирд▓ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдмрд╛рд╣рд░ рдпрд╛ рдЗрд╕реЗ рдПрдореБрд▓реЗрдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рди рдЦрд┐рд▓рд╛рдПрдВ (рдореИрдВ рдЗрд╕реЗ рдПрдХ рдЬреАрдкреАрдПрдХреНрд╕ рдорд╛рд░реНрдЧ рдЦрд┐рд▓рд╛рддрд╛ рд╣реВрдВ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдерд╛)ред

1) рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд╕реНрдХреНрд░реАрди рдЪрд╛рд▓реВ рд╣реИред GPS рдкрд░рд┐рдгрд╛рдо рд▓реМрдЯрд╛рдирд╛ рдмрдВрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рд╡рд╣ рдиреНрдпреВрдирддрдо рдореЛрдб рдореЗрдВ рд╣реЛ, рдЪрд╛рд╣реЗ рдЙрд╕реЗ рдХреБрдЫ рднреА рдХрд╣рд╛ рдЬрд╛рдПред рдореИрдВ рд╕реНрдХреНрд░реАрди рдкреИрдХреЗрдЬ рдФрд░ Screen.keepOn(true) рдХреЗ рд╕рд╛рде рдЬрд░реВрд░рдд рдкрдбрд╝рдиреЗ рдкрд░ рд╕реНрдХреНрд░реАрди рдХреЛ рдЪрд╛рд▓реВ рдХрд░рддрд╛ рд╣реВрдВ; рдпрджрд┐ рд╕реНрдХреНрд░реАрди рдмрдВрдж рд╣реИ, рддреЛ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕реНрдХреНрд░реАрди рдХреЗ рд╡рд╛рдкрд╕ рдЪрд╛рд▓реВ рд╣реЛрдиреЗ рддрдХ рд╕реНрдерд╛рдиреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реЛрд▓реНрдб рдФрд░ рдмрдлрд░ рдХрд░рддрд╛ рд╣реИред

2) AndroidManifest.xml рдореЗрдВ рдпреЗ рдореЗрд░реА рдЕрдиреБрдорддрд┐рдпрд╛рдВ рд╣реИрдВ, рд╢рд╛рдпрдж рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рд▓рд╛рдпрдХ

```




рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЕрдВрддрд┐рдо рдПрдХ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд░рд╛рд╕реНрддреЗ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдЖрдпрд╛ рдерд╛, рдФрд░ рдпрд╣ рдорджрдж рдХрд░рддрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рдерд╛ред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдмреИрдЯрд░реА рдХрд╛рд░рдгреЛрдВ рд╕реЗ рд╡реЗрдХ_рд▓реЙрдХ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реЛрдВ, рд▓реЗрдХрд┐рди рд╕рдорд╕реНрдпрд╛ рдХрд╣рд╛рдВ рд╣реИ рдЗрд╕реЗ рдЦрддреНрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЖрдЬрдорд╛рдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

3) рд╕реНрдЯреНрд░реАрдо рдЯрд╛рдЗрдорд┐рдВрдЧ рдЖрдЙрдЯ рдХреЗ рд╕рд╛рде рдореЗрд░реЗ рдкрд╛рд╕ рд╡рд┐рд╖рдорддрд╛рдПрдВ рдереАрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЬрд┐рдпреЛрд▓реЛрдХреЗрдЯрд░ рдХреЗ рд╕рд╛рде рд╕реНрдЯреНрд░реАрдо рд╢реБрд░реВ рдХрд░рдирд╛ рд╕рдорд╛рдкреНрдд рдХрд░ рджрд┐рдпрд╛ред getPositionStream рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рдерд╛ред рд╕реНрдЯреНрд░реАрдо рдЪрд▓рдиреЗ рдХреЗ рд╕рд╛рде, рдореИрдВ рдЯрд╛рдЗрдорд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ getCurrentPosition (рд╡рд╛рдВрдЫрд┐рдд рд╕рдЯреАрдХрддрд╛: рд╕реНрдерд╛рди рд╕рдЯреАрдХрддрд╛ред рдЙрдЪреНрдЪ) рдХреЛ рдХреЙрд▓ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдм рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░реА рдореВрд▓ рд╕рдорд╕реНрдпрд╛ рд╕реНрдХреНрд░реАрди рдХреЗ рдмрдВрдж рд╣реЛрдиреЗ рдХреА рдереА, рд▓реЗрдХрд┐рди рдпрд╣ рдХреЗрд╡рд▓ рд░реБрдЪрд┐ рд╕реЗ рдмрд╛рд╣рд░ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рд▓рд╛рдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдЕрдЧрд░ рдХреЛрдИ рдЙрдкрд░реЛрдХреНрдд рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдХреНрдпрд╛ рдЖрдк рдХреЗрд╡рд▓ рд╕реНрдерд╛рди рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдПрдХ рдиреНрдпреВрдирддрдо рд╕реНрдкрдВрджрди рдРрдк рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдореИрдВ рджреЗрдЦреВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рдореЗрд░реЗ рдкрд░ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдЗрд╕реЗ рдЬрд╛рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рджрд░реНрджрдирд╛рдХ рд╣реИ: /ред

рдЖрдкрдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж @ibrierley , рдЬрд┐рддрдиреА рдЬрд▓реНрджреА рд╣реЛ рд╕рдХреЗ рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рдореЗрд░реЗ рдЕрдиреБрднрд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдВрдЧреЗред

рднреМрддрд┐рдХ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдЬреАрдкреАрдПрд╕ рдкрд░реАрдХреНрд╖рдг рдЬреИрд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЖрдЬ рдХреБрдЫ рд╢реЛрдз рдХрд┐рдпрд╛ред
рддреЛ рдХреЛрдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рд╣реИ рдЬрдм рдЬреАрдкреАрдПрд╕ рдкрд░реАрдХреНрд╖рдг (рдмрд╛рджрд▓реЛрдВ рдФрд░ рдмрдбрд╝реА рдЗрдорд╛рд░рддреЛрдВ рдХреЗ рдХрд╛рд░рдг рдЙрдкрд▓рдмреНрдз 0 рдЬреБрдбрд╝рд╛ рд╣реБрдЖ 1 рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ) рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ Google рдорд╛рдирдЪрд┐рддреНрд░ рдпрд╛ рдЕрдиреНрдп рдорд╛рдирдЪрд┐рддреНрд░ рд╕реЗрд╡рд╛рдПрдВ рднреА рдХрд╛рдо рдХрд░рддреА рд╣реИрдВред
рд╕реИрдЯ рдСрдирд▓рд╛рдЗрди рд╣реЛрдиреЗ рдкрд░ рдХреЛрдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рд╕реНрдерд╛рди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рджреВрд░реА, рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ 100% рдирд╣реАрдВ - рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдЬреАрдкреАрдПрд╕ рдмрд╣рд╛рд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдореИрдВрдиреЗ рдРрдк рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд┐рдо рдЬреНрдЮрд╛рдд рд╕реНрдерд╛рди рдХреЗ рд╕рд╛рде рдХреБрдЫ рдЪрд╛рд▓ рдХреА рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реНрдерд╛рди рдбреЗрдЯрд╛ рдЙрдкрд▓рдмреНрдз рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдЬрд┐рдУрд▓реЛрдХреЗрдЯрд░ рдореЗрдВ рд╕рдВрднрд╛рд╡рд┐рдд рдХреЙрд▓рдмреИрдХ рдХреЗ рд╕рд╛рде isReady рдЬреИрд╕реЗ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдзреНрд╡рдЬ рд░рдЦрдиреЗ рдХрд╛ рд╢рд╛рдпрдж рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рд╣реЛрдЧрд╛ рдЬреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЬреАрдкреАрдПрд╕ рд╕реЗрд╡рд╛ рд╕реНрдЯреНрд░реАрдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рди рдбреЗрдЯрд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИред

рдХреНрдпрд╛ рдХрд┐рд╕реА рдиреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрд╣ рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ: https://github.com/Lyokone/flutterlocation , рдпрд╛ рдпрд╣: https://github.com/Lyokone/flutterlocation ? рдЗрд╕рд▓рд┐рдП рд╣рдо рдЙрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рджреВрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЗрд╕ рдкреИрдХреЗрдЬ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИрдВред

рдореИрдВрдиреЗ рдпрд╣ рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ, рдФрд░ рдЗрд╕ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реБрдЖ (рдпрд╣ рдХрд╣рдирд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдирд╣реАрдВ рд╣реИ
рд╣рд╛рд▓рд╛рдВрдХрд┐ рдПрдХ рдХреЛрд╢рд┐рд╢ рдХреЗ рдХрд╛рдмрд┐рд▓!) рдЙрди рд╕рднреА рдХреЛ 'рдХреБрдЫ' рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ
рдХреНрдпреЛрдВрдХрд┐ рдПрдВрдбреНрд░реЙрдЗрдб рдореЗрдВ рдХреБрдЫ рдЪреАрдЬреЗрдВ рд╣реИрдВ рдЬреЛ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИрдВред

рдЖрдо рддреМрд░ рдкрд░ рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рд╣реИ рдЬрдм рдХреЛрдИ рд╕реНрдерд╛рди рдХрд┐рд╕реА рдкрд░ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИ
рдкреИрдХреЗрдЬ), рдпрд╣ рдПрдХ рдЧреИрд░-рд╕реНрдкрдВрджрди рд╕рдорд╕реНрдпрд╛ рдХреЗ рдХрд╛рд░рдг рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЬреАрдкреАрдПрд╕ рдореЗрдВ рдЪрд▓рд╛ рдЧрдпрд╛ рд╣реИ
рд╕реНрд▓реАрдк рдореЛрдб, рдпрд╛ рдХреЛрдИ рдЬреАрдкреАрдПрд╕ рд╕рд┐рдЧреНрдирд▓ рдирд╣реАрдВ)ред

рдЧреБрд░реБ, рдирд╡рдореНрдмрд░ 15, 2018 7:26 HerrNiklasRaab рдкрд░ рдкрд░ [email protected]
рд▓рд┐рдЦрд╛ рдерд╛:

рдХреНрдпрд╛ рдХрд┐рд╕реА рдиреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрд╣ рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ:
https://github.com/Lyokone/flutterlocation , рдпрд╛ рдпрд╣:
https://github.com/Lyokone/flutterlocation ? рдЗрд╕рд▓рд┐рдП рд╣рдо рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рджреВрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐
рдЗрд╕ рдкреИрдХреЗрдЬ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИрдВред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/BaseflowIT/flutter-geolocator/issues/135#issuecomment-439160446 ,
рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/ADuG9WRbZuJYvi5N_2xrrku-Jurk6trIks5uvb_SgaJpZM4YKDSm
.

рдХреЛрдИ рдореЗрд░реА рдХреЛрд╢рд┐рд╢ рдХрд░реЛ?
Flutter_background_geolocation

рдХреНрдпрд╛ рдпрд╣ рд╕реНрдХреНрд░реАрди рдСрдл рдЗрдВрдЯрд░реЗрд╕реНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?

рдЧреБрд░реБ, 15 рдирд╡рдВрдмрд░, 2018 рдХреЛ рд░рд╛рдд 8:16 рдмрдЬреЗ рдХреНрд░рд┐рд╕ рд╕реНрдХреЙрдЯ рд╕реВрдЪрдирд╛рдПрдВ @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

рдХреЛрдИ рдореЗрд░реА рдХреЛрд╢рд┐рд╢ рдХрд░реЛ?
Flutter_background_geolocation
https://pub.dartlang.org/packages/flutter_background_geolocation#-readme-tab-

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/BaseflowIT/flutter-geolocator/issues/135#issuecomment-439175841 ,
рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/ADuG9f5uvZK0lDnYecMoFZhJnF0ylz6Pks5uvcuygaJpZM4YKDSm
.

рдпрд╣ рддрдм рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬрдм рдЖрдк рдЕрдкрдирд╛ рдРрдк ( stopOnTerminate: false ) рд╕рдорд╛рдкреНрдд рдХрд░ рджреЗрддреЗ рд╣реИрдВ рдпрд╛ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рд░реАрдмреВрдЯ рдХрд░ рджреЗрддреЗ рд╣реИрдВ ( startOnBoot: true )ред

рдореБрдЭреЗ рдЙрд╕реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИ, рдЬреЛ рдХрднреА рднреА getCurrentPosition рд╕реЗ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдЖ рд░рд╣реА рд╣реИред
рдореЗрд░реЗ рдкрд╛рд╕ рдирд┐рдореНрди рдХреЛрдб рд╣реИ:
position = await Geolocator() .getCurrentPosition(desiredAccuracy: LocationAccuracy.best); setState(() { _position = position; }); if (position == null) Fluttertoast.showToast( msg: 'Position is null', toastLength: Toast.LENGTH_SHORT); else Fluttertoast.showToast( msg: 'Got Position', toastLength: Toast.LENGTH_SHORT);

рдЕрдиреБрдорддрд┐рдпрд╛рдВ рд╣реИрдВ:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.hardware.location.gps" /> <uses-permission android:name="android.hardware.location.network" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> ред
рдЬрдм рдореИрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЪрд▓рд╛рддрд╛ рд╣реВрдВ, рддреЛ рд╕реНрдерд╛рди рд╕рдВрдХреЗрддрдХ рд╕реНрдХреНрд░реАрди рдкрд░ рд╢реАрд░реНрд╖ рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ рдФрд░ рдЬрдм рддрдХ рдореИрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдмрдВрдж рдирд╣реАрдВ рдХрд░рддрд╛ рддрдм рддрдХ рд╕реНрдерд┐рд░ рд░рд╣рддрд╛ рд╣реВрдВред
рдХреЛрдИ рдорджрдж, рдХреГрдкрдпрд╛?

рд╡рд╣реА рд╣реЛрддрд╛ рд╣реИ, getCurrentPosition API 23 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдХрд╛рдордХрд╛рдЬ рдпрд╛ рдХреЛрдИ рд╡реИрдХрд▓реНрдкрд┐рдХ рдкреИрдХреЗрдЬ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ?

рдпрд╣ рдереЛрдбрд╝рд╛ рдкреЗрдЪреАрджрд╛ рд╣реИред рдореИрдВ рдкрд╣рд▓реЗ Google рдорд╛рдирдЪрд┐рддреНрд░ рдРрдк рд▓реЙрдиреНрдЪ рдХрд░рдХреЗ рдЗрд╕реЗ рдЕрднреА рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рдерд╛ рдФрд░ рдЗрд╕реЗ рдореЗрд░реЗ рд╕реНрдерд╛рди рдкрд░ рдЯреИрдк рдХрд░рддреЗ рд╕рдордп GPS рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд╛рдБрдЧрдиреЗ рджреЗрддрд╛ рдерд╛ред рдЙрд╕рдХреЗ рдмрд╛рдж getCurrentPosition рдЕрдЪрд╛рдирдХ рдПрдХ рдЖрдХрд░реНрд╖рдг рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореИрдВ рдХрд┐рд╕реА рднреА рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рди рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди
рдореИрдВрдиреЗ рдпрд╣рд╛рдВ NOT рдСрдкрд░реЗрдЯрд░ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, return рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдЬреЛрдбрд╝рд╛ рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░ рдЧрдпрд╛ред https://github.com/BaseflowIT/flutter-geolocator/blob/master/android/src/main/java/com/baseflow/flutter/plugin/geolocator/tasks/LocationUpdatesUsingLocationManagerTask.java#L52

// If we are listening to multiple location updates we can go ahead
// and report back the last known location (if we have one).
if(mStopAfterFirstLocationUpdate && mBestLocation != null) {
reportLocationUpdate(mBestLocation);
return;
}

рдореИрдВ рдмрд╕ рдЗрд╕ рдкрд░ рдареЛрдХрд░ рдЦрд╛рдИ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдПрдХ рдФрд░ рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬрд▓реНрджреА рд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА рдЬрд┐рд╕рдиреЗ рдореБрдЭреЗ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдиреАрдЪреЗ рдЬрд╛рдиреЗ рджрд┐рдпрд╛ред рдореИрдВ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВрдиреЗ рдПрдкреАрдЖрдИ 23 (рднреМрддрд┐рдХ рдЙрдкрдХрд░рдг), рдПрдкреАрдЖрдИ 24 (рднреМрддрд┐рдХ рдЙрдкрдХрд░рдг) рдФрд░ рдПрдкреАрдЖрдИ 28 (рднреМрддрд┐рдХ рдЙрдкрдХрд░рдг) рдкрд░ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред рдПрдкреАрдЖрдИ 23 рдкрд░ рдореБрдЭрд╕реЗ рдкреВрдЫрд╛ рдЧрдпрд╛ рдХрд┐ рдХреНрдпрд╛ рдореИрдВ Google рдХреЛ рд╕реНрдерд╛рди рдЖрджрд┐ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рдмрд╕ рд╣рд╛рдВ рдХрд╣рд╛, рдЗрд╕рдиреЗ рд▓рдЧрднрдЧ 20 рдпрд╛ рдЗрддрдиреЗ рд╕реЗрдХрдВрдб рдХреЗ рдмрд╛рдж рд╕реНрдерд╛рди рд▓реЛрдб рдХрд┐рдпрд╛ред рдЕрддреАрдд рдореЗрдВ, рдореБрдЭреЗ рдЕрдиреБрдХрд░рдгрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕реНрдерд╛рдиреЛрдВ (рдореВрд▓ рдПрдВрдбреНрд░реЙрдЗрдб рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ) рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд╕реНрдпрд╛рдПрдВ рдорд┐рд▓реА рд╣реИрдВ, рддреЛ рдХреНрдпрд╛ рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдПрдореБрд▓реЗрдЯрд░ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ?

рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ рдФрд░ рдореИрдВрдиреЗ рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯрд╛рдЗрдордЖрдЙрдЯ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдЬрдм рдЯрд╛рдЗрдордЖрдЙрдЯ рд╣реБрдЖ рддреЛ рдореИрдВ getLastKnownPosition() рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реВрдВ

Geolocator().getCurrentPosition().timeout(Duration(seconds: 10)).then((position) {
      //getting position without problems
      print(position);
    }).catchError((error) {
      if (error is TimeoutException) {
        Geolocator().getLastKnownPosition().then((position) {
          //getting last known position
          print(position);
        }).catchError((error) {
          //handle the exception
        });
      } else {
        //handle the exception
      }
    });

рдЖрдк рд╕реНрдЯреНрд░реАрдо рдХреЗ рд╕рд╛рде рднреА рдРрд╕рд╛ рд╣реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

@NMateu рдЖрдкрдХреЗ рдпреЛрдЧрджрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рд╡рд╣ рдмрд╣реБрдд рдорджрджрдЧрд╛рд░ рдерд╛!

рдореБрдЭреЗ рдПрдореБрд▓реЗрдЯрд░ рдкрд░ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рдереА, рд▓реЗрдХрд┐рди .forceAndroidLocationManager = true; рдЗрд╕реЗ рдореЗрд░реЗ рд▓рд┐рдП рдареАрдХ рдХрд░ рджрд┐рдпрд╛ред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдлрд╝реНрдпреВрдЬреНрдб рд▓реЛрдХреЗрд╢рди рдореИрдиреЗрдЬрд░ рдХрднреА-рдХрднреА рд░рд╛рд╕реНрддреЗ рдореЗрдВ рдЖ рдЬрд╛рддрд╛ рд╣реИред

рдЗрд╕ рдкрд░ рдХреЛрдИ рднреА рд╕рдорд╛рдЪрд╛рд░?

рдХреНрдпрд╛ рдХрд┐рд╕реА рдиреЗ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд┐рдпрд╛? рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ, рджреЛрд╕реНрддреЛрдВ!

рд╡рд╣реА рд╕рдорд╕реНрдпрд╛, рдпрд╣ рдЖрдИрдУрдПрд╕ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрди рджрд┐рдиреЛрдВ рдПрдВрдбреНрд░реЙрдЗрдб рдкрд░ рд╕реНрдерд╛рди рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИред

рд╣рд╛рдВ, рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрд▓реЗрд╕рдореЗрдВрдЯ placemarkFromAddress рдкрджреНрдзрддрд┐ рд╕реЗ рдкрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди рд╕реНрдерд╛рди рд╣реА рдЯреВрдЯрд╛ рд╣реБрдЖ рд╣реИред

рдпрд╣рд╛рдБ рдПрдХ рд╣реА рдореБрджреНрджрд╛

рд╢реВрдиреНрдп _getUserLocation () async {
рдЬрд┐рдпреЛрд▓реЛрдХреЗрдЯрд░ рдЬрд┐рдпреЛрд▓реЛрдХреЗрдЯрд░ = рдЬрд┐рдпреЛрд▓реЛрдХреЗрдЯрд░ ()..forceAndroidLocationManager = рд╕рдЪ;
рдЬрд┐рдпреЛрд▓реЛрдХреЗрд╢рдирд╕реНрдЯреИрдЯрд╕ рдЬрд┐рдпреЛрд▓реЛрдХреЗрд╢рдирд╕реНрдЯреИрдЯрд╕ = рдЬрд┐рдпреЛрд▓реЛрдХреЗрдЯрд░ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВредрдЪреЗрдХ рдЬрд┐рдпреЛрд▓реЛрдХреЗрд╢рдирдкреНрд░рдорд┐рд╢рдирд╕реНрдЯреИрдЯрд╕ ();
рд╕реНрдерд┐рддрд┐ рд╕реНрдерд┐рддрд┐ = рдкреНрд░рддреАрдХреНрд╖рд╛рд░рдд рдЬрд┐рдпреЛрд▓реЛрдХреЗрдЯрд░ ()
.getCurrentPosition (рд╡рд╛рдВрдЫрд┐рдд рд╕рдЯреАрдХрддрд╛: рд╕реНрдерд╛рди рд╕рдЯреАрдХрддрд╛ред рдЙрдЪреНрдЪ);
рд╕реВрдЪреАрд╕реНрдерд╛рди-рдЪрд┐рд╣реНрди = рдкреНрд░рддреАрдХреНрд╖рд╛рд░рдд рдЬрд┐рдпреЛрд▓реЛрдХреЗрдЯрд░ ()
.placemarkFromCoordinates (рд╕реНрдерд┐рддрд┐ред рдЕрдХреНрд╖рд╛рдВрд╢, рд╕реНрдерд┐рддрд┐ред рджреЗрд╢рд╛рдВрддрд░);
рдкреНрд░рд┐рдВрдЯ ("-----------------");
рдкреНрд░рд┐рдВрдЯ (рдкреНрд▓реЗрд╕рдорд╛рд░реНрдХ [0]ред рд╕реНрдерд┐рддрд┐);
рдкреНрд░рд┐рдВрдЯ (geolocator.toString ());
рдкреНрд░рд┐рдВрдЯ (рдЬрд┐рдпреЛрд▓реЛрдХреЗрд╢рдирд╕реНрдЯреИрдЯрд╕ред рдЯреВрд╕реНрдЯреНрд░рд┐рдВрдЧ ());
рд╕реЗрдЯрд╕реНрдЯреЗрдЯ (() {
_рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реНрдерд┐рддрд┐ = рдЕрдХреНрд╖рд╛рдВрд╢ (рд╕реНрдерд┐рддрд┐ред рдЕрдХреНрд╖рд╛рдВрд╢, рд╕реНрдерд┐рддрд┐ред рджреЗрд╢рд╛рдВрддрд░);

  locationController.text = placemark[0].name;
});

}

рдпрд╣ рдЧрд▓рдд рд╕реНрдерд╛рди рджрд┐рдЦрд╛ рд░рд╣рд╛ рд╣реИред

рдореИрдВ/рд╕реНрдкрдВрджрди (7363): рдЕрдХреНрд╖рд╛рдВрд╢: 37.421999899999996, рд▓рдВрдмрд╛: -122.08405750000001
рдореИрдВ/рд╕реНрдкрдВрджрди (7363): 'рдЬрд┐рдпреЛрд▓реЛрдХреЗрдЯрд░' рдХрд╛ рдЙрджрд╛рд╣рд░рдг
рдореИрдВ/рд╕реНрдкрдВрджрди (7363): GeolocationStatus.granted

рд╢реВрдиреНрдп _getUserLocation () async {
рдЬрд┐рдпреЛрд▓реЛрдХреЗрдЯрд░ рдЬрд┐рдпреЛрд▓реЛрдХреЗрдЯрд░ = рдЬрд┐рдпреЛрд▓реЛрдХреЗрдЯрд░ ()..forceAndroidLocationManager = рд╕рдЪ;
рдЬрд┐рдпреЛрд▓реЛрдХреЗрд╢рдирд╕реНрдЯреИрдЯрд╕ рдЬрд┐рдпреЛрд▓реЛрдХреЗрд╢рдирд╕реНрдЯреИрдЯрд╕ = рдЬрд┐рдпреЛрд▓реЛрдХреЗрдЯрд░ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВредрдЪреЗрдХ рдЬрд┐рдпреЛрд▓реЛрдХреЗрд╢рдирдкреНрд░рдорд┐рд╢рдирд╕реНрдЯреИрдЯрд╕ ();
рд╕реНрдерд┐рддрд┐ рд╕реНрдерд┐рддрд┐ = рдкреНрд░рддреАрдХреНрд╖рд╛рд░рдд рдЬрд┐рдпреЛрд▓реЛрдХреЗрдЯрд░ ()
.getCurrentPosition (рд╡рд╛рдВрдЫрд┐рдд рд╕рдЯреАрдХрддрд╛: рд╕реНрдерд╛рди рд╕рдЯреАрдХрддрд╛ред рдЙрдЪреНрдЪ);
рд╕реВрдЪреА рд╕реНрдерд▓рдЪрд┐рд╣реНрди = рдкреНрд░рддреАрдХреНрд╖рд╛рд░рдд рдЬрд┐рдпреЛрд▓реЛрдХреЗрдЯрд░ ()
.placemarkFromCoordinates (рд╕реНрдерд┐рддрд┐ред рдЕрдХреНрд╖рд╛рдВрд╢, рд╕реНрдерд┐рддрд┐ред рджреЗрд╢рд╛рдВрддрд░);
рдкреНрд░рд┐рдВрдЯ ("-----------------");
рдкреНрд░рд┐рдВрдЯ (рдкреНрд▓реЗрд╕рдорд╛рд░реНрдХ [0]ред рд╕реНрдерд┐рддрд┐);
рдкреНрд░рд┐рдВрдЯ (geolocator.toString ());
рдкреНрд░рд┐рдВрдЯ (рдЬрд┐рдпреЛрд▓реЛрдХреЗрд╢рдирд╕реНрдЯреИрдЯрд╕ред рдЯреВрд╕реНрдЯреНрд░рд┐рдВрдЧ ());
рд╕реЗрдЯрд╕реНрдЯреЗрдЯ (() {
_рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реНрдерд┐рддрд┐ = рдЕрдХреНрд╖рд╛рдВрд╢ (рд╕реНрдерд┐рддрд┐ред рдЕрдХреНрд╖рд╛рдВрд╢, рд╕реНрдерд┐рддрд┐ред рджреЗрд╢рд╛рдВрддрд░);

  locationController.text = placemark[0].name;
});

}

рдЗрд╕ рд╕реНрдирд┐рдкреЗрдЯ рдХреЗ рд╕рд╛рде рдПрдореБрд▓реЗрдЯрд░ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
Geolocator()..forceAndroidLocationManager = true;

рдЗрд╕ рдкреИрдХреЗрдЬ рдиреЗ рд╣рд░ рдЪреАрдЬ рдХреЗ рд▓рд┐рдП рдЖрдХрд░реНрд╖рдг рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд┐рдпрд╛

(https://github.com/alfanhui/new_geolocation)

рдореИрдВ рдХреБрдЫ Android рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЗрд╕рдХрд╛ рд╣рд▓ рдвреВрдВрдв рд▓рд┐рдпрд╛ рд╣реИ -

рдЖрдкрдХреЛ рдмрд╕ рдЬрд┐рдпреЛрд▓реЛрдХреЗрдЯрд░()..forceAndroidLocationManager = true рдХрд╛ рдорд╛рди рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реИред

рдЕрдВрддрд┐рдо рдЬрд┐рдпреЛрд▓реЛрдХреЗрдЯрд░ рдЬрд┐рдпреЛрд▓реЛрдХреЗрдЯрд░ = рдЬрд┐рдпреЛрд▓реЛрдХреЗрдЯрд░ ()..forceAndroidLocationManager = true;

рд╕рдВрд╕реНрдХрд░рдг 6.0.0 . рдореЗрдВ рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛

рд╕реНрдерд┐рддрд┐ рд╕реНрдерд┐рддрд┐ = рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ Geolocator.getCurrentPosition(
рд╡рд╛рдВрдЫрд┐рдд рд╕рдЯреАрдХрддрд╛: рд╕реНрдерд╛рди рд╕рдЯреАрдХрддрд╛ред рдХрдо, рдмрд▓ рдПрдВрдбреНрд░реЙрдЗрдб рд╕реНрдерд╛рди рдкреНрд░рдмрдВрдзрдХ: рд╕рддреНрдп);
рдЗрд╕рдиреЗ рдореЗрд░реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдареАрдХ рдХрд░ рджрд┐рдпрд╛

рдореБрдЭреЗ рд▓рд╛рдЗрди рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд░рд╣реА рд╣реИ ForceAndroidLocationManager рдЗрд╕рдХреА рд▓рд╛рд▓ рд░реЗрдЦрд╛ рджрд┐рдЦрд╛ рд░рд╣рд╛ рд╣реИ рдФрд░ рддреНрд░реБрдЯрд┐ рдпрд╣ рд╣реИ рдХрд┐ ..... "рд╕реЗрдЯрд░ 'forceAndroidLocationManager' рдХреЛ 'рдЬрд┐рдпреЛрд▓реЛрдХреЗрдЯрд░' рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рдЬреЛ 'forceAndroidLocationManager' рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдирд╛рдо рдХреЛ рдореМрдЬреВрджрд╛ рд╕реЗрдЯрд░ рдХреЗ рдирд╛рдо рдореЗрдВ рд╕реБрдзрд╛рд░рддрд╛ рд╣реИ, рдпрд╛ 'forceAndroidLocationManager' рдирд╛рдордХ рдПрдХ рд╕реЗрдЯрд░ рдпрд╛ рдлрд╝реАрд▓реНрдб рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред"

@ рдЕрджрд┐рддрд┐рдХреБрдорд╛рд░-рдкреАрдПрдирдЬреА рдЖрдк рдЬрд┐рдпреЛрд▓реЛрдХреЗрдЯрд░ рдХреЗ рдХрд┐рд╕ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдЖрдкрдиреЗ рд╢рд╛рдпрдж рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдг 6.x рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рд╣реИред рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкрд░рд┐рд╡рд░реНрддрди рд╣реИред рд╣рдордиреЗ Geolocator().forceAndroidLocationManager рд╕рдВрдкрддреНрддрд┐ рдХреЛ getCurrentPosition рдФрд░ getPositionStream рд╡рд┐рдзрд┐рдпреЛрдВ рдкрд░ рдирд╛рдорд┐рдд рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ред

рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЕрдм рдЖрдк рдЗрд╕ рддрд░рд╣ рдЬрд┐рдпреЛрд▓реЛрдХреЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

final position = await Geolocator.getCurrentPosition(forceAndroidLocationManager: true);

рдкреБрд░рд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп:

final geolocator = Geolocator();
geolocator.forceAndroidLocationManager = true;

final position = await geolocator.getCurrentPosition();

@ рдЕрджрд┐рддрд┐рдХреБрдорд╛рд░-рдкреАрдПрдирдЬреА рдЖрдк рдЬрд┐рдпреЛрд▓реЛрдХреЗрдЯрд░ рдХреЗ рдХрд┐рд╕ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдЖрдкрдиреЗ рд╢рд╛рдпрдж рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдг 6.x рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рд╣реИред рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкрд░рд┐рд╡рд░реНрддрди рд╣реИред рд╣рдордиреЗ Geolocator().forceAndroidLocationManager рд╕рдВрдкрддреНрддрд┐ рдХреЛ getCurrentPosition рдФрд░ getPositionStream рд╡рд┐рдзрд┐рдпреЛрдВ рдкрд░ рдирд╛рдорд┐рдд рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ред

рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЕрдм рдЖрдк рдЗрд╕ рддрд░рд╣ рдЬрд┐рдпреЛрд▓реЛрдХреЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

final position = await Geolocator.getCurrentPosition(forceAndroidLocationManager: true);

рдкреБрд░рд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп:

final geolocator = Geolocator();
geolocator.forceAndroidLocationManager = true;

final position = await geolocator.getCurrentPosition();

рдмрд╣реБрдд - рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж!!!!! рдЖрдкрдиреЗ рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕реЗрдХрдВрдбреЛрдВ рдореЗрдВ рд╣рд▓ рдХрд░ рджрд┐рдпрд╛ рдореИрдВ 9 рдмрдЬреЗ рд╕реЗ рдЗрд╕рд╕реЗ рдЬреВрдЭ рд░рд╣рд╛ рдерд╛

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

samo92 picture samo92  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

dark-chocolate picture dark-chocolate  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Sammius picture Sammius  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

devalp-pro picture devalp-pro  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

joesnarky picture joesnarky  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ