如何在Android Marshmlow上的GoogleMap上显示当前位置?

如何在Android Marshmlow上的GoogleMap上显示当前位置?

我希望谷歌地图显示用户的位置。我试过这段代码,但它在Android 6上不起作用。

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" />


HUH函数
浏览 875回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android