Guest User

Untitled

a guest
Oct 22nd, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.52 KB | None | 0 0
  1. public class MainActivity extends AppCompatActivity implements OnMapReadyCallback {
  2.  
  3. private static final String TAG = MainActivity.class.getSimpleName();
  4. private static final int DIAMETER_IN_METERS = 300;
  5.  
  6. private final LatLng MARKER_LOCATION = new LatLng(37.762555, -122.244221);
  7.  
  8. private GoogleMap mGoogleMap;
  9. private MapFragment mMapFragment;
  10.  
  11. private Marker mMarker = null;
  12.  
  13.  
  14. @Override
  15. protected void onCreate(Bundle savedInstanceState) {
  16. super.onCreate(savedInstanceState);
  17. setContentView(R.layout.activity_main);
  18.  
  19. mMapFragment = (MapFragment) getFragmentManager()
  20. .findFragmentById(R.id.map_fragment);
  21. mMapFragment.getMapAsync(this);
  22. }
  23.  
  24. @Override
  25. public void onMapReady(GoogleMap googleMap) {
  26. mGoogleMap = googleMap;
  27.  
  28. mGoogleMap.setOnCameraIdleListener(new GoogleMap.OnCameraIdleListener() {
  29. @Override
  30. public void onCameraIdle() {
  31.  
  32. if (mMarker != null) {
  33. mMarker.remove();
  34. }
  35. mMarker = createResizedMarker(MARKER_LOCATION);
  36. }
  37. });
  38. mGoogleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(MARKER_LOCATION, 16));
  39. }
  40.  
  41. private Marker createResizedMarker(LatLng marker_location) {
  42.  
  43. final Drawable iconDrawable = getResources().getDrawable(R.drawable.ic_letter_m);
  44. final double meters_per_pixel = (Math.cos(mGoogleMap.getCameraPosition().target.latitude * Math.PI / 180) * 2 * Math.PI * 6378137) / (256 * Math.pow(2, mGoogleMap.getCameraPosition().zoom));
  45. final int diameter = (int)(DIAMETER_IN_METERS / meters_per_pixel);
  46. final Bitmap bitmap = Bitmap.createBitmap(diameter, diameter, Bitmap.Config.ARGB_8888);
  47. Canvas canvas = new Canvas(bitmap);
  48. iconDrawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
  49. iconDrawable.draw(canvas);
  50.  
  51. Marker marker = mGoogleMap.addMarker(new MarkerOptions()
  52. .position(MARKER_LOCATION)
  53. .anchor(0.5f, 0.5f)
  54. .icon(BitmapDescriptorFactory.fromBitmap(bitmap)));
  55.  
  56. return marker;
  57. }
  58. }
  59.  
  60. <?xml version="1.0" encoding="utf-8"?>
  61. <vector xmlns:android="http://schemas.android.com/apk/res/android"
  62. android:width="512dp"
  63. android:height="512dp"
  64. android:viewportWidth="512"
  65. android:viewportHeight="512">
  66.  
  67. <path
  68. android:name="canvas_background"
  69. android:pathData="M -1 -1 H 581 V 401 H -1 V -1 Z" />
  70. <path
  71. android:name="SVGCleanerId_0"
  72. android:fillColor="#54BBFF"
  73. android:pathData="M256,0l-61.811005,256l61.811005,256c141.384979,0 256,-114.61499
  74. 256,-256s-114.61499,-256 -256,-256z" />
  75. <path
  76. android:name="SVGCleanerId_1"
  77. android:fillColor="#8DD2FF"
  78. android:pathData="M0,256c0,141.384979 114.614998,256 256,256l0,-512c-141.385002,0 -256,114.614998
  79. -256,256z" />
  80. <path
  81. android:name="svg_1"
  82. android:fillColor="#C6E8FF"
  83. android:pathData="M256,30.905001l0,450.188993c124.31601,0 225.095001,-100.777985
  84. 225.095001,-225.095001s-100.778992,-225.093992 -225.095001,-225.093992z" />
  85. <path
  86. android:name="svg_2"
  87. android:fillColor="#FFFFFF"
  88. android:pathData="M450.188995,256c0,-124.315994 -86.94101,-225.094999
  89. -194.188995,-225.094999c-124.315994,0 -225.094999,100.779005
  90. -225.094999,225.094999s100.779005,225.095001 225.094999,225.095001c107.247986,0
  91. 194.188995,-100.778992 194.188995,-225.095001z" />
  92. <path
  93. android:name="svg_3"
  94. android:fillColor="#54BBFF"
  95. android:pathData="M306.993988,395.589996c-11.378998,0 -20.604004,-9.223999
  96. -20.604004,-20.604004l0,-137.592987l-11.453003,26.722992c-3.246002,7.576019
  97. -10.694977,12.488007 -18.937988,12.488007c-8.240997,0 -15.69101,-4.912018
  98. -18.938004,-12.488007l-11.453003,-26.722992l0,137.593018c0,11.378998
  99. -9.223999,20.603973 -20.604004,20.603973c-11.378998,0 -20.603989,-9.223999
  100. -20.603989,-20.603973l0,-237.972015c0,-9.782997 6.878998,-18.215996
  101. 16.460999,-20.182999c9.584,-1.968002 19.227005,3.075005
  102. 23.080002,12.065994l32.059006,74.798004l32.056,-74.796997c3.852997,-8.990997
  103. 13.502014,-14.032997 23.079987,-12.066002c9.583008,1.968002 16.460999,10.401001
  104. 16.460999,20.183006l0,237.971985c0.001007,11.377991 -9.223999,20.602997
  105. -20.602997,20.602997z" />
  106. <path
  107. android:name="SVGCleanerId_0_1_"
  108. android:fillColor="#F655A0"
  109. android:pathData="M256,0l-61.811005,256l61.811005,256c141.384979,0 256,-114.61499
  110. 256,-256s-114.61499,-256 -256,-256z" />
  111. <path
  112. android:name="SVGCleanerId_1_1_"
  113. android:fillColor="#F655A0"
  114. android:pathData="M0,256c0,141.384979 114.614998,256 256,256l0,-512c-141.385002,0 -256,114.614998
  115. -256,256z" />
  116. <path
  117. android:name="svg_8"
  118. android:fillColor="#FFFFFF"
  119. android:pathData="M335.771271,393.589996c-17.577087,0 -31.826935,-9.223999
  120. -31.826935,-20.604004l0,-137.592987l-17.691406,26.722992c-5.014069,7.576019
  121. -16.520477,12.488007 -29.253418,12.488007c-12.729828,0 -24.237839,-4.912018
  122. -29.253448,-12.488007l-17.691406,-26.722992l0,137.593018c0,11.378998
  123. -14.248276,20.603973 -31.82692,20.603973c-17.577087,0 -31.826889,-9.223999
  124. -31.826889,-20.603973l0,-237.972015c0,-9.782997 10.625946,-18.215996
  125. 25.427231,-20.182999c14.804367,-1.968002 29.699875,3.075005
  126. 35.651581,12.065994l49.521408,74.798004l49.516754,-74.796997c5.951721,-8.990997
  127. 20.856506,-14.032997 35.651581,-12.066002c14.802826,1.968002 25.427216,10.401001
  128. 25.427216,20.183006l0,237.971985c0.001556,11.377991 -14.24826,20.602997
  129. -31.825348,20.602997z" />
  130. </vector>
Add Comment
Please, Sign In to add comment