如何在Android Marshmlow上的GoogleMap上显示当前位置?
private GoogleMap map;LocationManager lm;LocationListener ll;Location l;LatLng pos;@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.start_layout); lm = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE); ll = new LocationListener() { @Override public void onLocationChanged(Location location) { l = (Location) location; } @Override public void onStatusChanged(String provider, int status, Bundle extras) {} @Override public void onProviderEnabled(String provider) {} @Override public void onProviderDisabled(String provider) {} }; SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager() .findFragmentById(R.id.nMap); mapFragment.getMapAsync(this);}@Overridepublic void onMapReady(GoogleMap googleMap) { map = googleMap; if(ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) { lm.requestLocationUpdates(lm.NETWORK_PROVIDER, 0, 0, ll); } pos = new LatLng(l.getLatitude(), l.getLongitude()); // Add a marker in Sydney and move the camera map.setMyLocationEnabled(true); map.addMarker(new MarkerOptions().position(pos).title("Marker in Sydney")); map.moveCamera(CameraUpdateFactory.newLatLng(pos));}
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /><uses-permission android:name="android.permission.INTERNET" />
相关分类