Guest User

Untitled

a guest
Jun 22nd, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.70 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. mapUiSetting.setZoomControlsEnabled(true);
  39. mapUiSetting.setMyLocationButtonEnabled(false);
  40. LatLng shop = new LatLng(55.805, 37.636);
  41. map.addMarker(new MarkerOptions().position(shop).title("Shop"));
  42. CameraPosition liberty = CameraPosition.builder().target(shop).zoom(16).bearing(0).tilt(45).build();
  43. map.moveCamera(CameraUpdateFactory.newCameraPosition(liberty));
  44. }
  45.  
  46. @Override
  47. public boolean onMyLocationButtonClick() {
  48. Toast.makeText(getContext(), "MyLocation button clicked", Toast.LENGTH_SHORT).show();
  49. return false;
  50. }
  51.  
  52. @Override
  53. public void onMyLocationClick(@NonNull Location location) {
  54. Toast.makeText(getContext(), "Текущее положениеn" + location, Toast.LENGTH_LONG).show();
  55. }
  56. }
  57.  
  58. <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
  59. <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
  60.  
  61. <android.support.design.widget.FloatingActionButton
  62. android:id="@+id/myLocationButton"
  63. android:layout_width="wrap_content"
  64. android:layout_height="wrap_content"
  65. android:layout_gravity="bottom|right"
  66. android:layout_marginBottom="20dp"
  67. android:layout_marginRight="20dp"
  68. android:src="@android:drawable/ic_menu_mylocation"
  69. app:borderWidth="0dp"
  70. app:elevation="6dp"
  71. app:pressedTranslationZ="12dp"
  72. app:fabSize="normal" />
  73.  
  74. private void userLocationFAB(){
  75. FloatingActionButton FAB = (FloatingActionButton) findViewById(R.id.myLocationButton);
  76. FAB.setOnClickListener(new View.OnClickListener() {
  77. @Override
  78. public void onClick(View v) {
  79. if(mapView.getMyLocation() != null) { // Check to ensure coordinates aren't null, probably a better way of doing this...
  80. mapView.setCenterCoordinate(new LatLngZoom(mapView.getMyLocation().getLatitude(), mapView.getMyLocation().getLongitude(), 20), true);
  81. }
  82. }
  83. });
  84. }
  85.  
  86. .setMyLocationEnabled(true);
  87.  
  88. mapUiSetting.setZoomControlsEnabled(true);
  89. mapUiSetting.setMyLocationEnabled(true);
  90. mapUiSetting.setMyLocationButtonEnabled(true);
Add Comment
Please, Sign In to add comment