我正在为Android设计谷歌地图应用。在这个应用程序中,我世界喜欢使用用户的经度和经度进行计算。但是,我无法使用这些数据因为它们无法在公共无效地址onMapReady中应用。
我曾试过几种方式,比如: 1.意图 2. SharedPreferences 捆绑 4.甚至尝试将这些数据保存到SQLite,并在MapReady上将它们公开。
所有这些方法似乎毫无用处。
private GoogleMap.OnMyLocationChangeListener myLocationChangeListener = new GoogleMap.OnMyLocationChangeListener() {
@Override
public void onMyLocationChange(Location location) {
LatLng loc = new LatLng(location.getLatitude(), location.getLongitude());
if(mMap != null){
mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(loc, 10));
CameraPosition cameraPosition = new CameraPosition.Builder()
.target(loc)
.zoom(16)
.bearing(0)
.tilt(30)
.build();
mMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
getLocation = location;
lat = getLocation.getLatitude();
lng = getLocation.getLongitude();
latitude = Double.toString(lat);
longitude= Double.toString(lng);
}
}
};
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
mMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
mMap.setMyLocationEnabled(true);
mMap.setTrafficEnabled(false);
mMap.setIndoorEnabled(false);
mMap.setBuildingsEnabled(true);
mMap.getUiSettings().setScrollGesturesEnabled(true);
mMap.getUiSettings().setCompassEnabled(false);
mMap.getUiSettings().setMyLocationButtonEnabled(true);
mMap.setOnMyLocationChangeListener(myLocationChangeListener);
Toast.makeText(getApplicationContext(), "", Toast.LENGTH_SHORT).show();
}
我该怎么办?