Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.s0meth1ng.map;
- import android.Manifest;
- import android.content.pm.PackageManager;
- import android.support.annotation.NonNull;
- import android.support.v4.app.ActivityCompat;
- import android.support.v4.app.FragmentActivity;
- import android.os.Bundle;
- import com.google.android.gms.maps.CameraUpdateFactory;
- import com.google.android.gms.maps.GoogleMap;
- import com.google.android.gms.maps.OnMapReadyCallback;
- import com.google.android.gms.maps.SupportMapFragment;
- import com.google.android.gms.maps.model.LatLng;
- import com.google.android.gms.maps.model.MarkerOptions;
- public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {
- GoogleMap mMap;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_maps);
- // Obtain the SupportMapFragment and get notified when the map is ready to be used.
- SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
- .findFragmentById(R.id.map);
- mapFragment.getMapAsync(this);
- }
- /**
- * Manipulates the map once available.
- * This callback is triggered when the map is ready to be used.
- * This is where we can add markers or lines, add listeners or move the camera. In this case,
- * we just add a marker near Sydney, Australia.
- * If Google Play services is not installed on the device, the user will be prompted to install
- * it inside the SupportMapFragment. This method will only be triggered once the user has
- * installed Google Play services and returned to the app.
- */
- @Override
- public void onMapReady(GoogleMap map) {
- mMap = map;
- map.setMapType(GoogleMap.MAP_TYPE_TERRAIN);
- if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
- ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION}, 1);
- return;
- }
- mMap.setMyLocationEnabled(true);
- mMap.getUiSettings().setMyLocationButtonEnabled(true);
- // Add a marker in Sydney and move the camera
- //LatLng sydney = new LatLng(37.421649, -122.083793);
- //map.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney"));
- }
- @Override
- public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
- if (grantResults[0] != PackageManager.PERMISSION_GRANTED) {
- android.os.Process.killProcess(android.os.Process.myPid());
- } else {
- //this.recreate();
- //Выше костыль вместо того, что ниже (то, что ниже не работает)
- this.onMapReady(mMap);
- }
- }
- }
Add Comment
Please, Sign In to add comment