рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ!
рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ, рд╣рдо рдПрдВрдбреНрд░реЙрдЗрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рд╕реНрд░реЛрддреЛрдВ (рдпреИрдВрдбреЗрдХреНрд╕ рдХрд╛рд░реНрдб рд╕рд╣рд┐рдд) рд╕реЗ рдХрд╛рд░реНрдб рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред
рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо
рдСрд╕реНрдореЛрдбрд╛рдпрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рд╣рдореЗрдВ
рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рд▓рд┐рдВрдХ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИ, рдпрд╣ рд╕рдВрд╕реНрдХрд░рдг, рдРрд╕рд╛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рдирдП рд▓реЛрдЧреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реНрдерд┐рд░ рдФрд░ рддреЗрдЬ рд╣реИ) рдФрд░
рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрддред рдЙрдиреНрд╣реЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ (рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП рдПрдХреНрд▓рд┐рдкреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) (рдмрд┐рд▓реНрдб рдкрд╛рде-> рдХрдВрдлрд┐рдЧрд░ рдмрд┐рд▓реНрдб рдкрд╛рде-> рд▓рд╛рдЗрдмреНрд░реЗрд░реА-> рдПрдХреНрд╕рдЯрд░реНрдирд▓ рдЬрд╛рд░ рдЬреЛрдбрд╝реЗрдВ)ред
рд╣рдо рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдирд┐рдлрд╝реЗрд╕реНрдЯ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдЕрдиреБрдорддрд┐рдпрд╛рдБ рд▓рд┐рдЦреЗрдВрдЧреЗ
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
рдирдП рдорд╛рдирдЪрд┐рддреНрд░ рд╕реНрд░реЛрддреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпреИрдВрдбреЗрдХреНрд╕ рдФрд░ Google (рдореИрдкрдирд┐рдХ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ), рдЖрдкрдХреЛ XYTileSource рд╡рд░реНрдЧ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
MyTileSource public class MyTileSource extends XYTileSource { public MyTileSource(String aName, string aResourceId, int aZoomMinLevel, int aZoomMaxLevel, int aTileSizePixels, String aImageFilenameEnding, String... aBaseUrl) { super(aName, aResourceId, aZoomMinLevel, aZoomMaxLevel, aTileSizePixels, aImageFilenameEnding, aBaseUrl); }
рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдСрд╕реНрдордбреНрд░реЛрдЗрдб рдпрд╛рдВрдбреЗрдХреНрд╕ рдорд╛рдирдЪрд┐рддреНрд░ рдкреНрд░рдХреНрд╖реЗрдкрдг рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдпреИрдВрдбреЗрдХреНрд╕ рдХреЗ рдирдХреНрд╢реЗ рдХреЗ рд╕рд╣реА рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП, рд╣рдо рдЯрд╛рдИрд▓реНрд╕рдСрд╡рд░рд▓реЗ рд╡рд░реНрдЧ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░реЗрдВрдЧреЗред рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЛ рдЯрд╛рдЗрд▓реНрд╕ рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рд╡рд╛рдкрд╕ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ
рд╡рд░реНрдЧ рдкрд╛рдпрд╛ рдЧрдпрд╛ред рдпрд╣рд╛рдБ рдереЛрдбрд╝рд╛ рд╕рдВрд╢реЛрдзрд┐рдд рд╡рд░реНрдЧ рд╣реИ
YandexUtils public class YandexUtils { public static double[] geoToMercator(double[] g) { double d = g[0] * Math.PI / 180, m = g[1] * Math.PI / 180, l = 6378137, k = 0.0818191908426, f = k * Math.sin(m); double h = Math.tan(Math.PI / 4 + m / 2), j = Math.pow( Math.tan(Math.PI / 4 + Math.asin(f) / 2), k), i = h / j;
рдЕрдм рдЬрдм рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдмрджрд▓рдиреЗ рдХреЗ рд╕реВрддреНрд░ рд╣реИрдВ, рддреЛ рд╣рдо рдЯрд╛рдИрд▓реНрд╕рдСрд╡рд░рд▓реЗ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
YandexTilesOverlay public class YandexTilesOverlay extends TilesOverlay { private final Rect mTileRect = new Rect(); private final Point mTilePos = new Point(); public YandexTilesOverlay(MapTileProviderBase aTileProvider, Context aContext) { super(aTileProvider, aContext); }
рдпрд╣ рдлреЙрд░реНрдо рдкрд░ рдХрд╛рд░реНрдб рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИ
BlogOsmYandexActivity public class BlogOsmYandexActivity extends Activity { MapView mMap; MapController mMapController; YandexTilesOverlay tilesOverlayYandex; TilesOverlay tilesOverlayGoogle; TilesOverlay tilesOverlayMapnik; MapTileProviderBasic tileProviderYandex; MapTileProviderBasic tileProviderGoogle; MapTileProviderBasic tileProviderMapnik; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
рдкрд░рд┐рдгрд╛рдо