java Android地图未根据位置变化作出响应
我已经调试这段代码很长时间了,但无法完成。我得到了正确的经度&;Latitude在listener中,但无法相应地更新地图,有人能帮我吗
public class MapActivity extends FragmentActivity implements OnMapReadyCallback {
protected GoogleMap mMap;
protected LocationManager locationManager;
protected LocationListener locationListener;
private double latitude, longitude;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_map);
getLocation();
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
}
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
// Toast.makeText(getApplicationContext(),"Latitude:" + latitude + ", Longitude:" + longitude,Toast.LENGTH_SHORT).show();
LatLng delhiIndia = new LatLng(latitude,longitude);
mMap.addMarker(new MarkerOptions().position(delhiIndia).title("Delhi--India"));
mMap.moveCamera(CameraUpdateFactory.newLatLng(delhiIndia));
}
public void getLocation(){
locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
locationListener = new LocationListener() {
@Override
public void onLocationChanged(Location location) {
latitude=location.getLatitude();
longitude =location.getLongitude();
Toast.makeText(getApplicationContext(),"Latitude:" + latitude + ", Longitude:" + longitude,Toast.LENGTH_SHORT).show();
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
Log.d("Latitude","status");
}
@Override
public void onProviderEnabled(String provider) {
Log.d("Latitude","enable");
}
@Override
public void onProviderDisabled(String provider) {
Log.d("Latitude", "disable");
}
};
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationListener);
//locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,0,0,locationListener);
}
}
有人能帮我追踪这个问题吗
# 1 楼答案
# 2 楼答案
如需添加新标记