Guest User

Untitled

a guest
Jun 22nd, 2018
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.28 KB | None | 0 0
  1. public class FragmentMapsShop extends Fragment implements OnMapReadyCallback, GoogleMap.OnMyLocationClickListener, GoogleMap.OnMyLocationButtonClickListener {
  2. private GoogleMap map;
  3. MapView mapView;
  4.  
  5. public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
  6. return inflater.inflate(R.layout.fragment_shop_map, container, false);
  7. }
  8.  
  9. @Override
  10. public void onCreate(@Nullable Bundle savedInstanceState) {
  11. super.onCreate(savedInstanceState);
  12.  
  13. }
  14.  
  15. @Override
  16. public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
  17. super.onViewCreated(view, savedInstanceState);
  18. getActivity().setTitle("Карта");
  19. mapView = (MapView) view.findViewById(R.id.map);
  20. if (mapView != null) {
  21. mapView.onCreate(null);
  22. mapView.onResume();
  23. mapView.getMapAsync(this);
  24. }
  25.  
  26. }
  27.  
  28. @Override
  29. public void onMapReady(GoogleMap googleMap) {
  30. map = googleMap;
  31. map.setMapType(GoogleMap.MAP_TYPE_NORMAL);
  32. if (ActivityCompat.checkSelfPermission(getContext(), Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(getContext(), Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED)
  33. map.setMyLocationEnabled(true);
  34. map.setOnMyLocationButtonClickListener(this);
  35. map.setOnMyLocationClickListener(this);
  36.  
  37. UiSettings mapUiSetting = map.getUiSettings();
  38.  
  39. mapUiSetting.setZoomControlsEnabled(true);
  40. //mapUiSetting.setMyLocationEnabled(true);
  41. //mapUiSetting.getUiSettings().setMyLocationButtonEnabled(true);
  42. mapUiSetting.setMyLocationButtonEnabled(true);
  43. LatLng shop = new LatLng(55.805, 37.636);
  44. map.addMarker(new MarkerOptions().position(shop).title("Shop"));
  45. // map.moveCamera(CameraUpdateFactory.newLatLng(shop));
  46. CameraPosition liberty = CameraPosition.builder().target(shop).zoom(16).bearing(0).tilt(45).build();
  47. map.moveCamera(CameraUpdateFactory.newCameraPosition(liberty));
  48. }
  49.  
  50. @Override
  51. public boolean onMyLocationButtonClick() {
  52. Toast.makeText(getContext(), "MyLocation button clicked", Toast.LENGTH_SHORT).show();
  53. return true;
  54. }
  55.  
  56. @Override
  57. public void onMyLocationClick(@NonNull Location location) {
  58. Toast.makeText(getContext(), "Текущее положениеn" + location, Toast.LENGTH_LONG).show();
  59. }
  60. }
  61.  
  62. <?xml version="1.0" encoding="utf-8"?>
  63. <FrameLayout android:layout_width="match_parent"
  64. xmlns:android="http://schemas.android.com/apk/res/android"
  65. android:layout_height="match_parent"
  66. xmlns:app="http://schemas.android.com/apk/res-auto">
  67.  
  68. <com.google.android.gms.maps.MapView
  69. android:layout_width="match_parent"
  70. android:layout_height="match_parent"
  71. android:id="@+id/map"/>
  72.  
  73.  
  74. </FrameLayout>
  75.  
  76. <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
  77. <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
  78.  
  79. <android.support.design.widget.FloatingActionButton
  80. android:id="@+id/myLocationButton"
  81. android:layout_width="wrap_content"
  82. android:layout_height="wrap_content"
  83. android:layout_gravity="bottom|right"
  84. android:layout_marginBottom="20dp"
  85. android:layout_marginRight="20dp"
  86. android:src="@android:drawable/ic_menu_mylocation"
  87. app:borderWidth="0dp"
  88. app:elevation="6dp"
  89. app:pressedTranslationZ="12dp"
  90. app:fabSize="normal" />
  91.  
  92. private void userLocationFAB(){
  93. FloatingActionButton FAB = (FloatingActionButton) findViewById(R.id.myLocationButton);
  94. FAB.setOnClickListener(new View.OnClickListener() {
  95. @Override
  96. public void onClick(View v) {
  97. if(mapView.getMyLocation() != null) { // Check to ensure coordinates aren't null, probably a better way of doing this...
  98. mapView.setCenterCoordinate(new LatLngZoom(mapView.getMyLocation().getLatitude(), mapView.getMyLocation().getLongitude(), 20), true);
  99. }
  100. }
  101. });
  102. }
  103.  
  104. .setMyLocationEnabled(true);
  105.  
  106. mapUiSetting.setZoomControlsEnabled(true);
  107. mapUiSetting.setMyLocationEnabled(true);
  108. mapUiSetting.setMyLocationButtonEnabled(true);
Add Comment
Please, Sign In to add comment