我是从android开始的,我想开始强大,我已经知道了一点java,所以我决定在android中制作一张地图。我怀疑的是,我尝试了,我不知道还有什么可以这样做,当我开始我的应用程序时,我将把地图与相机发送到我的位置。此外,我不知道他们是否可以修改我的代码,如果有一些错误或建议,那将是不可思议的。
public class MapsActivity extends AppCompatActivity implements OnMapReadyCallback, LocationListener {
private GoogleMap mMap;
private DrawerLayout dy;
protected LocationManager locationManager;
protected LocationListener locationListener;
private static final int LOCATION_REQUEST_CODE = 1;
private static final String TAG = MapsActivity.class.getSimpleName();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_navigation_drawe);
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0,0, this);
}
public void openNavigatorDrawe(View view){
dy = (DrawerLayout)findViewById(R.id.drawer_layout);
dy.openDrawer(GravityCompat.START);
}
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
UiSettings uiSettings=mMap.getUiSettings();
// uiSettings.setAllGesturesEnabled(false);
if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION)
== PackageManager.PERMISSION_GRANTED) {
mMap.setMyLocationEnabled(true);
} else {
if (ActivityCompat.shouldShowRequestPermissionRationale(this,
Manifest.permission.ACCESS_FINE_LOCATION)) {
} else {
ActivityCompat.requestPermissions(
this,
new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
LOCATION_REQUEST_CODE);
}
}
try {
boolean success = googleMap.setMapStyle(
MapStyleOptions.loadRawResourceStyle(
this, R.raw.liberte));
if (!success) {
Log.e(TAG, "Style parsing failed.");
}
} catch (Resources.NotFoundException e) {
Log.e(TAG, "Can't find style. Error: ", e);
}
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
@NonNull int[] grantResults) {
if (requestCode == LOCATION_REQUEST_CODE) {
// ¿Permisos asignados?
if (permissions.length > 0 &&
permissions[0].equals(Manifest.permission.ACCESS_FINE_LOCATION) &&
grantResults[0] == PackageManager.PERMISSION_GRANTED) {
mMap.setMyLocationEnabled(true);
} else {
Toast.makeText(this, "Error de permisos", Toast.LENGTH_LONG).show();
}
}
}
@Override
public void onLocationChanged(Location location) {
LatLng newloc = new LatLng(location.getLatitude(), location.getLongitude());
mMap.moveCamera(CameraUpdateFactory.newLatLng(newloc));
}
@Override
public void onStatusChanged(String s, int i, Bundle bundle) {
}
@Override
public void onProviderEnabled(String s) {
}
@Override
public void onProviderDisabled(String s) {
}
}