启用MyLocation的animateCamera后,映射不会移动到所需位置

时间:2014-12-12 01:42:45

标签: android google-maps-android-api-2

我的应用仅在某些设备上出现此问题,但无法找到导致此问题的原因。

我的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();

0 个答案:

没有答案