Best to use the FusedLocationProviderApi now, as it offers less battery drain than the old open source LocationManager API.
Also, if you're already using Google Play Services for Google Maps, there's no reason not to use it.

Here is a full Activity class that places a Marker at the current location, and also moves the camera to the current position.

It also checks for location permissions at runtime for Android M.
The key to handling Android M/Android 6 here is to ensure that the user has granted you the Location permission before calling mGoogleMap.setMyLocationEnabled(true) and also before requesting location updates.