1
他のアンドロイドですべて正常に動作しますが、6.0ではMyLocationButtonが何もしません。ここに私のコードAndroid:Android 6.0では私の位置ボタンが機能しません
googleMap.getUiSettings().setMyLocationButtonEnabled(true);
googleMap.setMyLocationEnabled(true);
googleMap
.setOnMyLocationButtonClickListener(new GoogleMap.OnMyLocationButtonClickListener() {
@Override
public boolean onMyLocationButtonClick() {
Location location = googleMap.getMyLocation();
if (location == null) {
checkLocationSettings();
return true;
}
LatLng locationLatLng = new LatLng(location
.getLatitude(), location.getLongitude());
setMarkerToMap(locationLatLng);
//other staff
return false;
});
protected void checkLocationSettings() {
PendingResult<LocationSettingsResult> result = LocationServices.SettingsApi
.checkLocationSettings(mGoogleApiClient,
mLocationSettingsRequest);
result.setResultCallback(this);
}
@Override
public void onResult(LocationSettingsResult locationSettingsResult) {
final Status status = locationSettingsResult.getStatus();
switch (status.getStatusCode()) {
case LocationSettingsStatusCodes.SUCCESS:
break;
case LocationSettingsStatusCodes.RESOLUTION_REQUIRED:
try {
status.startResolutionForResult(this, REQUEST_CHECK_SETTINGS);
} catch (IntentSender.SendIntentException e) {
}
break;
}
}
この問題の原因は何ですか?私はそれが(Android 6.0の)新しい権限で何かをしなければならないと思うが、私はそれを理解できない。
あなたはOnClickListener内部ACCESS_FINE_LOCATION権限をチェックしようとしたことがありますか? – noktigula