рдЕрдкрдиреЗ Android рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдирдХреНрд╢реЗ рдПрдХреАрдХреГрдд рдХрд░реЗрдВ

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

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдПрдВрдбреНрд░реЙрдЗрдб рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдореЛрдмрд╛рдЗрд▓ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдирдХреНрд╢реЗ рдХреЛ рджреЗрдЦрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рдХреИрд╕реЗ рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рдП, рдпреИрдВрдбреЗрдХреНрд╕ рдореИрдкреНрд╕ рдФрд░ Google рдореИрдкреНрд╕ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗред
рдЗрди рдХрдВрдкрдирд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ:



рдПрдХ рдШрд░реЗрд▓реВ рдирд┐рд░реНрдорд╛рддрд╛ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред

Yandex


Yandex MapKit рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ GitHub рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ , iOS рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рднреА рд╣реИред
рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВ, рд╣рдореЗрдВ рдПрдХ рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдо рдореЗрд▓ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ support@mobmaps.yandex.ru рдкрд░ рдПрдХ рдкрддреНрд░ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рд╢реАрд░реНрд╖рдХ "рдореИрдк рдХрд┐рдЯ" рдореЗрдВ рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрддреЗ рд╣реИрдВред рдЬрд╡рд╛рдм рдореЗрдВ, рдЖрдкрдХреЛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рд▓рд┐рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдирд┐рдпрдореЛрдВ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрддреНрд░ рдХреЗ рд╢рд░реАрд░ рдореЗрдВ рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде (рдпрд╛ рд╡реЗ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ рднреЗрдЬрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ) рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реБрдП рдПрдХ рдкрддреНрд░ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧрд╛ред

рдЬрдм рд╣рдо рдкрддреНрд░ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдкреБрд╕реНрддрдХрд╛рд▓рдп рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╕рдВрд▓рдЧреНрди рдХрд░рддреЗ рд╣реИрдВред

рдПрдХ рдХреЙрдлреА рдордЧ рдХреЗ рд╕рд╛рде рд▓рдВрдмреЗ рдЗрдВрддрдЬрд╛рд░ рдХреЗ рдмрд╛рдж, рд╣рдо рд▓рд┐рдВрдХ рдкрд░ рдкрддреНрд░ рдФрд░ рдЬрд╛рдирдХрд╛рд░реА рдХреА рд╕рд╛рдордЧреНрд░реА рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рдХреБрдВрдЬреА рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рд▓реЗрдЖрдЙрдЯ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
<ru.yandex.yandexmapkit.MapView android:id="@+id/map" android:layout_width="fill_parent" android:layout_height="fill_parent" android:apiKey="you are key" /> 

"рдЖрдк рдХреБрдВрдЬреА рд╣реИрдВ" рдХреЗ рдмрдЬрд╛рдп рд╣рдо рдкреНрд░рд╛рдкреНрдд рдХреА рдЧрдИ рдХреБрдВрдЬреА рдбрд╛рд▓реЗрдВред рдпрд╣реА рд╣реИ, рд╡рд╣рд╛рдБ рдПрдХ рдирдХреНрд╢рд╛ рд╣реИред

рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХреЛрдб рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рд╕рдордиреНрд╡рдп рдореЗрдВ рдорд╛рдирдЪрд┐рддреНрд░ рдХреЛ рдХреИрд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВ рдФрд░ рдЬрд╝реВрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
 final MapView mMapView = (MapView) findViewById(R.id.map); //  MapController MapController mMapController = mMapView.getMapController(); //      mMapController.setPositionAnimationTo(new GeoPoint(60.113337, 55.151317)); mMapController.setZoomCurrent(15); 


рдЧреВрдЧрд▓


Google рдорд╛рдирдЪрд┐рддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдкрд░рд┐рд╖реНрдХреГрдд рдХреНрд░рд┐рдпрд╛рдПрдВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рддрд╛ рд╣реВрдВ рдХрд┐ рдХрд╛рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдмрдЧ-рдХреА рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рд░рд┐рд▓реАрдЬрд╝ рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдереЛрдбрд╝реА рдЙрд▓рдЭрди рдореЗрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЕрднреА рддрдХ рд░рд┐рд▓реАрдЬрд╝ рдирд╣реАрдВ рдорд┐рд▓реА рд╣реИред

рдбрд┐рдмрдЧ-рдХреБрдВрдЬреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдбреАрдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рдХреАрд╕реНрдЯреЙрд░ рдвреВрдВрдврдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдкрде рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛:
 C:\Documents and Settings\<user>\.android\debug.keystore 

рдлрд┐рд░ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЦреЛрд▓реЗрдВ, рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд░ рдЬрд╛рдПрдВ рдЬрд╣рд╛рдВ рдЬрд╛рд╡рд╛ рд╕реНрдерд╛рдкрд┐рдд рд╣реИ:
 cd C:\Program Files\Java\jre6\bin 

рдлрд┐рд░ рд╣рдо рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
 keytool -list -alias androiddebugkey -keystore <___>.keystore -storepass android -keypass android 

рдЬрд╣рд╛рдБ keystore_path рдЖрдкрдХрд╛ рдбреАрдмрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрде рд╣реИред рдкрде (рд╕рд╛рд╡рдзрд╛рдиреА, рдкрде рдореЗрдВ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдБ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ)ред

рдлрд┐рд░, рдЙрд╕реА рд╡рд┐рдВрдбреЛ рдореЗрдВ "рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдлрд╝рд┐рдВрдЧрд░рдкреНрд░рд┐рдВрдЯ (MD5)" рдХреЗ рдмрд╛рдж md5 рдХреБрдВрдЬреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреА рдЬрд╛рдПрдЧреАред
рд╣рдо рд▓рд┐рдВрдХ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХреЛрдб рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░рддреЗ рд╣реИрдВред
рдЙрд╕рдХреЗ рдмрд╛рдж, Google рд▓реЗрдЖрдЙрдЯ рдФрд░ рдПрдореНрдмреЗрдбреЗрдб рдХреЛрдб рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдХреЛрдб рдХреЗ рд╕рд╛рде рдЙрддреНрдкрдиреНрди рдХрд░реЗрдЧрд╛, рдЗрд╕реЗ рд▓реЗрдВ рдФрд░ рдЗрд╕реЗ рд╣рдорд╛рд░реЗ рд▓реЗрдЖрдЙрдЯ рдореЗрдВ рдкреЗрд╕реНрдЯ рдХрд░реЗрдВред
рдЕрдЧрд▓рд╛, рд╣рдореЗрдВ рдЕрдкрдиреА рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
 package com.fewpeople.geoplanner; import android.os.Bundle; import com.google.android.maps.MapActivity; public class GeoMapActivity extends MapActivity { @Override public void onCreate(Bundle savedInstanceData) { super.onCreate(savedInstanceData); setContentView(R.layout.geomap); } @Override protected boolean isRouteDisplayed() { return false; } } 


рдореИрдВ рдиреЛрдЯ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЛ com.google.android.maps.MapActivity рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд MapActivity рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдФрд░ рдЯреИрдЧ рдХреЗ рдмреАрдЪ рдореИрдирд┐рдлрд╝реЗрд╕реНрдЯ рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ
 <application></application> 
рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░реЗрдВ:
 <uses-library android:name="com.google.android.maps" /> 

рдФрд░ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░рдиреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдордд рднреВрд▓рдирд╛:
 <uses-permission android:name="android.permission.INTERNET" /> 


рдЕрдиреНрдпрдерд╛, GoogleMaps рдФрд░ YandexMapKit рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдмрд╣реБрдд рд╕рдорд╛рди рд╣реИ:
 final MapView mMapView = (MapView) findViewById(R.id.mapview); //  MapController MapController mMapController = mMapView.getController(); //      mMapController.animateTo(new GeoPoint(60.113337, 55.151317)); mMapController.setZoom(15); 


рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдХрд╛рд░реНрдб рдХреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ, рдФрд░ рдЙрдкрдпреЛрдЧ рдХреА рд╕реАрдорд╛ рдХрд╛рдлреА рд╡реНрдпрд╛рдкрдХ рд╣реИред
рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдиреАрдЪреЗ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЕрдкрдиреА рдЦреБрдж рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛


рдЙрджрд╛рд╣рд░рдг рдХреЛ рдереЛрдбрд╝рд╛ рд╡рд┐рд╕реНрддрд╛рд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдПрдХ рдХреЛрдб рдХреЛрдб рд╕рдВрд▓рдЧреНрди рдХрд░реВрдВрдЧрд╛:
 final MapView cMapView = (MapView) findViewById(R.id.map); //  MapController MapController cMapController = cMapView.getMapController(); //   ,   cMapView.setBuiltInZoomControls(true); //     "" final LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE); final LocationListener locationListener = new LocationListener() { @Override public void onStatusChanged(String provider, int status, Bundle extras) {} @Override public void onProviderEnabled(String provider) {} @Override public void onProviderDisabled(String provider) {} @Override public void onLocationChanged(Location location) {} }; locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationListener); //  overlay     cMyLocationOverlay = new MyLocationOverlay(this, cMapView); cMyLocationOverlay.disableCompass(); cMyLocationOverlay.enableMyLocation(); cMapView.getOverlays().add(cMyLocationOverlay); //  cMapController.setZoomCurrent(15); //    (  LocationManager.NETWORK_PROVIDER,     ) Location location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER); //      cMapController.animateTo(new GeoPoint((int) location.getLatitude() * 1000000, (int) location.getLongitude() * 1000000)); 


рд▓реЗрдХрд┐рди рдЗрд╕ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЕрдиреБрдорддрд┐ рдХреЛ рдкреНрд░рдХрдЯ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:
 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 




рдкреНрд░рдпреБрдХреНрдд рд╕рд╛рдордЧреНрд░реА рдХреА рд╕реВрдЪреА:
рдирдорд╕реНрдХрд╛рд░, MapView (Developers.android.com)
Api (рдЕрд╕реНрдерд╛рдпреА) рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ Google рдорд╛рдирдЪрд┐рддреНрд░
Google рдорд╛рдирдЪрд┐рддреНрд░ API рдХреБрдВрдЬреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛
рдЖрдкрдХреЗ Android рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдореИрдкреНрд╕
рд╣рдо GoogleMap рдФрд░ рдкрдВрдк SimpleCursorAdapter рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдПрдХ рд╕рд░рд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд▓рд┐рдЦ рд░рд╣реЗ рд╣реИрдВ
рдпреИрдВрдбреЗрдХреНрд╕ рдореИрдк рдХрд┐рдЯ рд╕реЗрд╡рд╛ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рд╢рд░реНрддреЗрдВ
рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рдПрдВрдбреНрд░реЙрдЗрдб рдУрдПрд╕ рдХреЗ рд▓рд┐рдП рдпреИрдВрдбреЗрдХреНрд╕ рдореИрдк рдХрд┐рдЯ (рдореИрдХреНрд╕рд┐рдо рдЦреНрд░реЛрдореНрд╕реЛрд╡)
рдореИрдХреНрд╕рд┐рдо рдЦреНрд░реЛрдореНрд╕реЛрд╡ред рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ Android OS рдХреЗ рд▓рд┐рдП Yandex MapKit (рд╡реАрдбрд┐рдпреЛ)

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


All Articles