java - 如何在内部函数中使用类变量?
问题描述
我想使用内部函数内部的类成员
我尝试将变量设为全局变量,但出现错误“预期的类或接口”
@Override
public void onMapReady(GoogleMap googleMap) {
// Add a marker in current location,
// and move the map's camera to the same location.
//Location currentLocation = LocationServices.FusedLocationApi.getLastLocation(googleApiClient);
FusedLocationProviderClient fusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(this);
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION},
MY_PERMISSIONS_REQUEST_ACCESS_LOCATION);
}else {
mFusedLocationClient.getLastLocation().addOnSuccessListener(new OnSuccessListener<Location>() {
@Override
public void onSuccess(Location location) {
wayLongitude = location.getLongitude();
wayLatitude = location.getLatitude();
/*LatLng sydney = new LatLng(wayLatitude, wayLongitude);
googleMap.addMarker(new MarkerOptions().position(sydney)
.title("Marker in Sydney"));
googleMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));*/
}
});
}
我希望能够在“OnSuccess”函数中执行“googleMap.addMarker”。我该怎么做?
解决方案
您需要将 googleMap 参数声明为 final:
public void onMapReady(final GoogleMap googleMap) {
//...
}
推荐阅读
- rust - How to end borrow when an Option is None
- python-3.x - 尽管路径正确存在,但当我无法访问 sql 路径时,我应该看哪个方面?
- javascript - 为什么 [[HomeObject]] 方法的简写语法不同?
- javascript - 如何通过单击 Google 地图上的 POI 标记直接将目的地(航点)添加到路线
- amazon-web-services - AWS Cognito:是否有在身份验证期间切换 MFA 类型的方法?
- arrays - 在 Ruby 中迭代多维数组的格式
- ruby-on-rails - Ruby On Rails:命名嵌套控制器和视图的正确方法是什么
- python - 如何在网页中获取动态生成名称的元素
- node.js - AWS S3 预签名 URL 错误
- javascript - 为什么我的 sequelize 查询将十进制列作为字符串返回