我的应用仅在某些设备上出现此问题,但无法找到导致此问题的原因。
我的MainActivy有一个MapFragment,这个MainActivity允许用户打开SearchActivity来查找作为坐标返回到MainActivity的地址。问题是在某些设备上animateCamera无法正常工作,我的意思是,地图保持在当前的GPS位置。
我已经能够在Galaxy SII(Android 4.1)和LG(Android 4.0)上重现这一点,但是在我的Galaxy SIII LTE(Android 4.4)中它运行良好。
以下是我的代码的一些部分:
MainActivity
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == SearchRequestCode && resultCode == RESULT_OK && data != null) {
Double latitude = data.getDoubleExtra(SearchActivity.LATITUDE, 0);
Double longitude = data.getDoubleExtra(SearchActivity.LONGITUDE, 0);
if (latitude != 0 && longitude != 0) {
((MapFragment) mFragment).setMapLocation(latitude, longitude);
}
}
}
public void setMapLocation(double latitude, double longitude) {
CameraPosition newPosition = new CameraPosition.Builder().target(new LatLng(latitude, longitude))
.zoom(15.5f).build();
mMap.animateCamera(CameraUpdateFactory.newCameraPosition(newPosition));
}
SearchActivity(数据如何返回MainActivity)
Intent intent = new Intent();
intent.putExtra(LATITUDE, addressListItem.getLatitude());
intent.putExtra(LONGITUDE, addressListItem.getLongitude());
intent.putExtra(ADDRESS, addressListItem.getLocation() + " - " + ddressListItem.getDetail());
setResult(RESULT_OK, intent);
finish();