您还可以如何使 class 和 Google 映射中的变量不为空?

How else can you make a variable in a class with Google Maps not a null?

我有一个 class 和地图,从 Firebase 中以 String 格式获取坐标和 title,然后将它们放入 double,但不能将它们放到新的 LatLng 中?我明白了,那个问题是googleMap = null,但是重新尝试了所有的方法来解决它。在这个版本的代码中,nullexception 消失了,但是 marker 是空的。请帮助。这是我应用程序的最后一个问题..

public class Map_activity extends FragmentActivity implements OnMapReadyCallback{

    GoogleMap googleMap;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_map_activity);

        // Obtain the SupportMapFragment and get notified when the map is ready to be used.
        SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
                .findFragmentById(R.id.map);
        mapFragment.getMapAsync(this);
        String value = getIntent().getExtras().getString("qwerty");
        String xlat = getIntent().getExtras().getString("lat");
        String xlon = getIntent().getExtras().getString("lon");
        xlat.split(",");
        xlon.split(",");
        String [] latlong = {xlat, xlon};
        double latitude = Double.parseDouble(latlong[0]);
        double longitude = Double.parseDouble(latlong[1]);
        if (googleMap != null){
        LatLng location = new LatLng(latitude, longitude);
        googleMap.addMarker(new MarkerOptions().position(location).title(value));
        googleMap.moveCamera(CameraUpdateFactory.newLatLng(location));}           
    }

    public void onMapReady(GoogleMap googleMap) {
        this.googleMap = googleMap;


    }
}

onCreateonMapReady 之前被调用。如果地图还没有准备好,那么唯一的值 googleMap 可以是 null.

唯一的解决办法是将需要 googleMap 的代码从 onCreate 中移出并放在其他地方。