рдЖрдкрдХреЗ Android рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдореИрдкреНрд╕



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

рдореИрдВрдиреЗ рджреЛ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ред

рд╡рд┐рдХрд▓реНрдк 1. рдПрдХ рдорд╛рдирдЪрд┐рддреНрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдмрд╛рд╣рд░реА рдЕрдиреБрдкреНрд░рдпреЛрдЧ


рд╢рд╛рдпрдж рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рд╡рд┐рдХрд▓реНрдкред рдЬрдм рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдЖрдк рдмрд╕ рдорд╛рдирдЪрд┐рддреНрд░ рдХреЗ рд╕рд╛рде рдПрдХ рддреГрддреАрдп-рдкрдХреНрд╖ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЦреЛрд▓рддреЗ рд╣реИрдВ - рдкреНрд░рдкрддреНрд░ рднреВ рдХрд╛ рдПрдХ uri рдмрдирд╛рдПрдБ : рдЕрдХреНрд╖рд╛рдВрд╢, рджреЗрд╢рд╛рдВрддрд░ , рдЖрдк z рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдПрдХ рд╕реНрдХреЗрд▓ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (1 рд╕реЗ 23 рддрдХ):

String uri = String.format("geo:%s,%s?z=16", Double.toString(lat), Double.toString(lng)); Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri)); startActivity(intent); 

рдЙрд╕реА рд╕рдордп, рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдорд╛рдирдЪрд┐рддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрдИ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдпрд╣ рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ рдХрд┐ рджрд┐рдП рдЧрдП рдмрд┐рдВрджреБ рдХреЛ рдХрд┐рд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:



рд╣рд╛рдБ, рд╣рд╛рдБред рдЗрд╕ рддрд░рд╣, рдПрдХ рджрд┐рдП рдЧрдП рдмрд┐рдВрджреБ рдХреЛ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рди рд╕рд┐рд░реНрдл рдПрдХ рдирдХреНрд╢рд╛ (рд╣рд╛рд▓рд╛рдВрдХрд┐ Yandex.Maps рд╕рд┐рд░реНрдл рдПрдХ рдирдХреНрд╢рд╛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдФрд░, рдЙрдирдХреЗ рд╕рд╛рде рдореЗрд░реЗ рдкрддреНрд░рд╛рдЪрд╛рд░ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рд╡реЗ рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ)ред

рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд▓рд╛рдн:
рдиреБрдХрд╕рд╛рди:

рд╡рд┐рдХрд▓реНрдк 2. рдирд┐рд░реНрдорд┐рдд рдХрд╛рд░реНрдб


рдПрдХреАрдХреГрдд рдХрд╛рд░реНрдб рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реИред рдореИрдВ рд╕рднреА рд╡рд┐рд╡рд░рдгреЛрдВ рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджреВрдВрдЧрд╛, рдореБрдЦреНрдп рдмрд╛рдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИред

рдореИрдВ рдХреЗрд╡рд▓ рдХреБрдЫ рд╕реВрдХреНрд╖реНрдорддрд╛рдУрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдиреНрджреНрд░рд┐рдд рдХрд░реВрдБрдЧрд╛ред

рдореИрдкреНрд╕ рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА

рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХрд╛рд░реНрдб рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЪрд╛рдмреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдХреБрдВрдЬрд┐рдпрд╛рдБ, рдХреБрдВрдЬреА рдирд╣реАрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рдбрд┐рдмрдЧ рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рд░рд┐рд▓реАрдЬрд╝ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП, рдХреБрдВрдЬрд┐рдпрд╛рдБ рднрд┐рдиреНрди рд╣реЛрдВрдЧреАред
рд╣рд░ рдмрд╛рд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЛ рди рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдирдХреНрд╢реЗ рдХреЗ рд╕рд╛рде рджреЛ рд▓реЗрдЖрдЙрдЯ'рдП рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХреЛрдб рдореЗрдВ рдРрд╕рд╛ рдХреБрдЫ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ:
 // choose layout with correct API key if (debug) { setContentView(R.layout.map_debug); } else { setContentView(R.layout.map_release); } 

рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк (рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреЗ рдбрд┐рдмрдЧ / рд░рд┐рд▓реАрдЬрд╝ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП) рдпрд╣рд╛рдВ рджреЗрдЦреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ ред

рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐

рдорд╛рдирдЪрд┐рддреНрд░ рдкрд░ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛:

 private MyLocationOverlay myLocationOverlay; MapView mapView = (MapView) findViewById(R.id.mapview); myLocationOverlay = new MyLocationOverlay(this, mapView); myLocationOverlay.enableMyLocation(); mapView.getOverlays().add(myLocationOverlay); 

рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЛ рд░реЛрдХрддреЗ / рдмрдВрдж рдХрд░рддреЗ рд╕рдордп рд╕реНрдерд╛рди рдмрдВрдж рдХрд░рдирд╛ рдпрд╛рдж рд░рдЦреЗрдВ:

 myLocationOverlay.disableMyLocation(); 

рдорд╛рд░реНрдХрд░

рдорд╛рд░реНрдХрд░реЛрдВ рдХреЛ рдХреЗрд╡рд▓ рдирдХреНрд╢реЗ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ:

 List<Overlay> mapOverlays; Drawable drawable; MapOverlay itemizedOverlay; mapOverlays = mapView.getOverlays(); drawable = this.getResources().getDrawable(R.drawable.map_dot_green); itemizedOverlay = new MapOverlay(drawable, mapView); GeoPoint markerPoint = new GeoPoint(lat, lng); OverlayItem overlayItem = new OverlayItem(markerPoint, "name", "description"); itemizedOverlay.addOverlay(overlayItem); mapOverlays.add(itemizedOverlay); 

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдЖрдк рдХрдИ рдорд╛рд░реНрдХрд░ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рд╣реА рдкрд░рдд рдкрд░ рд╕рднреА рдорд╛рд░реНрдХрд░ рд╕рдорд╛рди рд╣реЛрдВрдЧреЗред рдорд╛рд░реНрдХрд░реЛрдВ рдХреЛ рдЕрд▓рдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ (рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдореЗрдВ - рдкреАрд▓рд╛, рд▓рд╛рд▓, рд╣рд░рд╛)? рдпрд╛ рддреЛ рдХрдИ рдкрд░рддреЗрдВ рдмрдирд╛рдПрдВ, рдпрд╛ рд╕реЗрдЯрдореЗрдХрд░ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:

 int w = drawable.getIntrinsicWidth(); int h = drawable.getIntrinsicHeight(); drawable.setBounds(-w / 2, -h, w / 2, 0); overlayItem.setMarker(drawable); 

рдкрд╣рд▓реА рддреАрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рдмрд┐рдирд╛, рдПрдХ рдорд╛рд░реНрдХрд░ рдХреЗ рдмрдЬрд╛рдп рдПрдХ рд╢реВрдиреНрдп рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдпрджрд┐ рдЖрдк рдбрдмреНрд▓реНрдпреВ рдФрд░ рдПрдЪ рдХреЗ рдирдХрд╛рд░рд╛рддреНрдордХ рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЖрдзреЗ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдорд╛рд░реНрдХрд░реЛрдВ рдореЗрдВ рдЧрд▓рдд рдЫрд╛рдпрд╛ рд╣реЛрдЧреАред

рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХреЗ рдлрд╛рдпрджреЗ рдФрд░ рдиреБрдХрд╕рд╛рди

рдлрд╛рдпрджреЗ:
рдиреБрдХрд╕рд╛рди:

рдирд┐рд╖реНрдХрд░реНрд╖


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

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


All Articles