Android рдореЗрдВ GPS рдЙрдкрд▓рдмреНрдзрддрд╛ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг

рдЕрднрд┐рд╡рд╛рджрди, рд╕рддреНрдХрд╛рд░!

рдпрд╣ рд▓реЗрдЦ, рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ, рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫреА рдорджрдж рд╣реЛрдЧреАред рдпрд╛ рд╢рд╛рдпрдж рдЕрдиреБрднрд╡реА рднреА рдХреБрдЫ рдЪрдордХрддреЗ рд╣реИрдВред

рдЗрд╕рд▓рд┐рдП, рдореБрдЭреЗ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЬреАрдкреАрдПрд╕ рдлрд┐рдХреНрд╕ рдЙрдкрд▓рдмреНрдз рд╣реИ рдпрд╛ рдирд╣реАрдВред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрд▓рдмреАрдПрд╕ (рд╕реНрдерд╛рди-рдЖрдзрд╛рд░рд┐рдд рд╕реЗрд╡рд╛) рдПрдХ рдЖрд╢рд╛рдЬрдирдХ рдФрд░ рд▓реЛрдХрдкреНрд░рд┐рдп рдЪреАрдЬ рд╣реИ, рдФрд░ Google, рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордЭрддреЗ рд╣реБрдП, рдЙрдирдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╕рд╛рди-рд╕реЗ-рдЙрдкрдпреЛрдЧ рдЙрдкрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ред рд╣рд╛рдБ, рдореИрдВ рднрд╛рдЧ рдЧрдпрд╛ ... рдпрд╣ рдЗрддрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдЦреБрдж рдХреЛ рдПрдХ рд╣рдж рддрдХ рдирд┐рдЦрд╛рд░рдирд╛ рд╣реЛрдЧрд╛ред

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

рдЦреИрд░, рд╕рдорд╕реНрдпрд╛ рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣реА рд╣реИ - рд╣рдо рдЗрд╕реЗ рд╣рд▓ рдХрд░реЗрдВрдЧреЗ!

рдЪрд▓рд┐рдП LocationManager рдХреЛ рдЯреИрдк рдХрд░рдХреЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рд╕рдВрдкрддреНрддрд┐ рд╣реИ ProviderEnabled () рдЗрд╕рдореЗрдВ рдПрдХ рдмреВрд▓рд┐рдпрди рдорд╛рди рд▓реМрдЯрд╛рддрд╛ рд╣реИред рд╣реБрд░реНрд░реЗ? рдЬрд▓реНрдж рд╣реА ... рдпрд╣ рдорд╛рди рдХреЗрд╡рд▓ рдпрд╣ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдлрд╝реЛрди рдХрд╛ GPS рд░рд┐рд╕реАрд╡рд░ рдЪрд╛рд▓реВ рд╣реИ рдпрд╛ рдирд╣реАрдВ (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЖрдк рдирд╛рдо рд╕реЗ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ)ред рдкрд╣рд▓рд╛ рдкреИрдирдХреЗрдХ рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣ рдирд┐рдХрд▓рд╛, рдЖрдЧреЗ рдмрдврд╝рд╛ред

рд╣рдо рд▓реЛрдХрд▓рд┐рд╕реНрдЯрдирд░ рдХреЗ рдЗрдирд╕рд╛рдЗрдб рдореЗрдВ рдЪрдврд╝рддреЗ рд╣реИрдВред рд╣рдо рдХреНрдпрд╛ рджреЗрдЦрддреЗ рд╣реИрдВ? рдмрд╛рд╣, рдпрд╣ onStatusChanged () рд╣реИрдВрдбрд▓рд░ рд╣реИ! рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ, рдпрд╣ рдЙрдкрдпреБрдХреНрдд рдорд╛рди рд╕реЗрдЯ рдХрд░рдХреЗ рдкреНрд░рджрд╛рддрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрддрд╛ рд╣реИред рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ ... рд╡рд╣ рдПрдВрдбреНрд░реЙрдЗрдб рд╕рдВрд╕реНрдХрд░рдг 2.1 рдХреЗ рдмрд╛рдж рд╕реЗ рдХреБрдЫ рднреА рдЬрд╡рд╛рдм рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ! рджреБрдЦ рдХреЗ рд╕рд╛рде рд╣рдо рдЧреБрдЬрд░рддреЗ рд╣реИрдВред

рд╣рдо рдЬрд╛рд░реА рд░рд╣реЗрдЧрд╛? рдмреЗрд╢рдХ рд╣рдо рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВ! рдХрд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд feint рд╕реНрдкрд╖реНрдЯ рджрд┐рдЦрддрд╛ рд╣реИ - рд╡рд░реНрддрдорд╛рди рд╕рд┐рд╕реНрдЯрдо рд╕рдордп рдХреЗ рд╕рд╛рде рдЕрдВрддрд┐рдо рдирд┐рд╢реНрдЪрд┐рдд рдлрд┐рдХреНрд╕ рдХреЗ рд╕рдордп рдХреА рддреБрд▓рдирд╛ рдХрд░рдирд╛ред рдпрд╣ рддрд░реНрдХрд╕рдВрдЧрдд рдкреНрд░рддреАрдд рд╣реЛрдЧрд╛ - рдЪреВрдВрдХрд┐ рдлрд┐рдХреНрд╕ рдкреБрд░рд╛рдирд╛ рд╣реИ, рдлрд┐рд░ рдЬреАрдкреАрдПрд╕ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИред рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ: рдлрд┐рдХреНрд╕реЗрд╕ рдХреЗрд╡рд▓ рдбреНрд░рд╛рдЗрд╡рд┐рдВрдЧ рдХреЗ рд╕рдордп рдЖрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдЬрдЧрд╣ рдореЗрдВ рдмреИрдареЗ рд╕рд░рд▓ рдХреЗ рд╕рд╛рде рдЙрдкрдЧреНрд░рд╣реЛрдВ рдХреА рджреБрд░реНрдЧрдорддрд╛ рдХреЛ рднреНрд░рдорд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕рд╣рдордд рд╣реВрдБ, рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдк рдЦреБрдж рдХреЛ рдмреИрдареЗ рд╣реБрдП рдмреИрдарддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдЕрдЪрд╛рдирдХ - рдЙрддреНрдкреАрдбрд╝рди! - рдФрд░ рдЖрдкрдХреЗ рдлреЛрди рдиреЗ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рдЖрдкрдиреЗ 400-500 рдореАрдЯрд░ рдХреА рджреВрд░реА рдкрд░ рдЯреЗрд▓реАрдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ред рджреЛрдмрд╛рд░рд╛, рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рд░рд┐рд╕реАрд╡рд░ рдХреЛ рдпрд╛рдж рд░рдЦреЗрдВрдЧреЗ - рдпрд╣ рдХрд╛рдо рдореЗрдВ рдЖрдПрдЧрд╛ред

рдЕрдм GpsStatus.Listener рдХреА рдУрд░ рджреЗрдЦрддреЗ рд╣реИрдВ, рдЬреЛ onGpsStatusChanged (int event) рд╡рд┐рдзрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдИрд╡реЗрдВрдЯ рдЪрд░ рдХрдИ рдорд╛рди рд▓реЗ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо GPS_EVENT_SATELLITE_STATUS рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред рдЗрд╕ рддрд░рд╣ рдХреА рдШрдЯрдирд╛ рдХреА рдШрдЯрдирд╛ рдЗрдВрдЧрд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рд░рд┐рд╕реАрд╡рд░ рдЬреАрдкреАрдПрд╕ рдЙрдкрдЧреНрд░рд╣реЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░ рд░рд╣рд╛ рд╣реИред рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдП! рдлрд┐рд░ рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рдФрд░ рд╕реНрдкрд╖реНрдЯ рд╣реИ - рд╣рдо рд╡рд░реНрддрдорд╛рди рдЬреАрдкреАрдПрд╕ рд╕реНрдерд┐рддрд┐ рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдореЗрдВ рд╕реЗ рдЙрдкрд▓рдмреНрдз рдЙрдкрдЧреНрд░рд╣реЛрдВ рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рд╕рд░рд▓ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдмрд╕ рдЙрдирдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред

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

рд╕реНрдЯреЗрдЯрд╕ рд╣реИрдВрдбрд▓рд░ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:
LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE); GpsStatus.Listener lGPS = new GpsStatus.Listener() { public void onGpsStatusChanged(int event) { if( event == GpsStatus.GPS_EVENT_SATELLITE_STATUS){ GpsStatus status = lm.getGpsStatus(null); Iterable<GpsSatellite> sats = status.getSatellites(); doSomething(); } } }; lm.addGpsStatusListener(lGPS); 

рд╕реНрдерд┐рддрд┐ рдЪрд░ рдореЗрдВ рд╕рднреА рдЙрдкрд▓рдмреНрдз рдЙрдкрдЧреНрд░рд╣реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╣реИ

рддреЛ, рдлрд┐рд░ рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рдЕрджреНрднреБрдд рд╣реИ - рд╣рдо рдЙрдкрдЧреНрд░рд╣реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рдЕрдЧрд░ рдЪрд╛рд░ рд╕реЗ рдХрдо рд╣реИрдВ, рддреЛ рдХреЛрдИ рдлрд┐рдХреНрд╕ рдирд╣реАрдВ рд╣реИ рдФрд░ рди рд╣реА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЕрдиреНрдп рдкреЛрдЬреАрд╢рдирд┐рдВрдЧ рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ (рдореБрдЭреЗ рдорд╛рдл рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛)ред рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреЛ рдКрдкрд░ рджрд┐рдП рдЧрдП рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рд╕рдордп рдХреА рддреБрд▓рдирд╛ рдХреЗ рд╕рд╛рде рдкрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рддреЛ рдЖрдк "рдЯреНрд░рд╕реНрдЯ" рдлрд┐рдХреНрд╕ рдХреА рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЕрд╡рдзрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

рд╕рдВрддреБрд▓рди рдХреА рддрд░рд╣ред рдКрдкрд░ рдХреЗ рд╕рднреА рдЖрдкрдХреЛ рдПрдХ рдлрд┐рдХреНрд╕ рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдЯреАрдХ рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЬрд┐рди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХреЛрдИ рдлрд┐рдХреНрд╕ рдирд╣реАрдВ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдмрд╕ рдХрд╛рдЯ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рдХрд╛рдлреА рдирд╣реАрдВ рд╣реИ рдЬреЛ рдореИрдВ рдЪрд╛рд╣рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреБрдЫ!

UPD : рд▓рдЧрддрд╛ рд╣реИ рдПрдХ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓ рдЧрдпрд╛ рд╣реИ! рдпрд╣ r_ii рдХреА рдмрджреМрд▓рдд рд╣реБрдЖ ред
рдЗрд╕рд▓рд┐рдП, рдЖрдкрдХрд╛ GPS- рд░рд┐рд╕реАрд╡рд░, рдЬрдм рдЗрд╕реЗ рдЪрд╛рд▓реВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд▓рдЧрд╛рддрд╛рд░ NMEA рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рд┐рдЧреНрдирд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдП!
рдЗрди рд╕рдВрдХреЗрддреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛ рдХреЛрдб рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ:

 lm.addNmeaListener(new GpsStatus.NmeaListener() { public void onNmeaReceived(long timestamp, String nmea) { parseNMEA(nmea); }}); 


рдЗрд╕ рдХреЛрдб рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдпрд╣ 2m0nd рдзрд╛рдЧрд╛ ред рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдкреВрд░рд╛ рд╡рд┐рд╡рд░рдг рдпрд╣рд╛рдВ (рдкреАрдбреАрдПрдл) рд╣реИред

рджрд░рдЕрд╕рд▓, рдЫреЛрдЯреА рдЪреАрдЬ рдкреНрд░рд╛рдкреНрдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдирд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдХреБрдВрдЬреА (рдкрд╣рд▓реЗ) рдлрд╝реАрд▓реНрдб $ GPGGA рдХреЗ рд╕рд╛рде рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рдФрд░ рдЙрдирдореЗрдВ рдкреИрд░рд╛рдореАрдЯрд░ рд╕рдВрдЦреНрдпрд╛ 6, рдЬрд┐рд╕реЗ рдЪрд╛рд▓рд╛рдХреА рд╕реЗ рдЬреАрдкреАрдПрд╕ рдЧреБрдгрд╡рддреНрддрд╛ рд╕рдВрдХреЗрддрдХ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдирд┐рдореНрди рдорд╛рди рд▓реЗрддрд╛ рд╣реИ:
рдмрд┐рдВрдЧреЛ!

PS рдХрд┐рд╕реА рднреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЗрди рддрд░реАрдХреЛрдВ рдХреЗ рд▓реЗрдЦрдХ рд╣реЛрдиреЗ рдХрд╛ рджрд╛рд╡рд╛ рдирд╣реАрдВ рдХрд░рддреЗ, рдХреНрдпреЛрдВрдХрд┐ рд╕рдм рдХреБрдЫ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ Google рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдкрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд▓реЗрдЦ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдПрдХ рдвреЗрд░ рдореЗрдВ рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА рдПрдХрддреНрд░ рдХрд░рдирд╛ рд╣реИ рдФрд░ рдХреБрдЫ рдЗрд╕реЗ рд╕рдВрд░рдЪрд┐рдд рдХрд░рдирд╛ рд╣реИ рддрд╛рдХрд┐ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рд╣рд░реЗ рдкреНрд░рд╛рдгреА рдХреЗ рд╕рд╛рде рдореЛрдмрд╛рдЗрд▓ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рд╢рд╛рдирджрд╛рд░ рджреБрдирд┐рдпрд╛ рдХреА рдпрд╛рддреНрд░рд╛ рдХрд░рдирд╛ рд╕рдордп рдФрд░ рдирд╕реЛрдВ рдХреЛ рдмрд░реНрдмрд╛рдж рди рдХрд░реЗрдВред
рдкреАрдкреАрдПрд╕ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ, рд╡рд┐рдзрд┐ рдЖрджрд░реНрд╢ рд╕реЗ рдмрд╣реБрдд рджреВрд░ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХрд╛ рд╕реБрдзрд╛рд░ рдЬрд╛рд░реА рд╣реИред рдХрд┐рд╕реА рднреА рдорджрдж рдФрд░ рдЖрд▓реЛрдЪрдирд╛ (рдЙрджреНрджреЗрд╢реНрдп) рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ!

Source: https://habr.com/ru/post/In123397/


All Articles