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