Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android GoogleMap.moveCamera从儿童活动返回后不工作_Android_Google Maps - Fatal编程技术网

Android GoogleMap.moveCamera从儿童活动返回后不工作

Android GoogleMap.moveCamera从儿童活动返回后不工作,android,google-maps,Android,Google Maps,我在SupportMapFragment中有一个谷歌地图。它在初始显示中工作良好。移动摄影机,并添加一个圆。但是moveCamera和addCircle在完成子活动后停止工作 @Override public void onConnected(Bundle arg0) { Log.d("Main Activity", "onConnected called"); mMap.setOnMarkerClickListener(this);

我在SupportMapFragment中有一个谷歌地图。它在初始显示中工作良好。移动摄影机,并添加一个圆。但是moveCamera和addCircle在完成子活动后停止工作

@Override
public void onConnected(Bundle arg0) {
    Log.d("Main Activity",
            "onConnected called");      

        mMap.setOnMarkerClickListener(this);
        mMap.setOnCameraChangeListener(this);
        mMap.setOnMyLocationChangeListener(this);
    // Display the connection status
        Location loc = mLocationClient.getLastLocation();


        mGeolocation = new LatLng(loc.getLatitude(),loc.getLongitude());
        Log.d("GeoLocation",
                "latitue:"+mGeolocation.latitude+" longitude:" + mGeolocation.longitude);   

        if(mMap.getMyLocation()==null)
            Log.d("GeoLocation",
                    "mMap location not set yet");   
        else    
            Log.d("GeoLocation",
                "mMap location-----latitue:"+ mMap.getMyLocation().getLatitude()+" longitude:" + mMap.getMyLocation().getLongitude());   

        CameraPosition targetPosition = new CameraPosition.Builder().target(mGeolocation)
        .zoom(12.0f)
        .bearing(0)
        .tilt(25)
        .build();


        mMap.moveCamera(CameraUpdateFactory.newCameraPosition(targetPosition));

        CircleOptions circleParam = new CircleOptions()
                                    .center(mGeolocation)
                                    .radius(MAX_DISTANCE)
                                    .strokeColor(Color.BLUE)
                                    .strokeWidth(5)
                                    .visible(true);

        mMap.addCircle(circleParam);

}
@Override
public boolean onMarkerClick(Marker marker) {
    Vendor v = listedVendors.get(marker.getId());
    if( v!=null){
        Intent intent = new Intent(this, MenuActivity.class);
        intent.putExtra(EXTRA_VENDOR, v);
        intent.putExtra(EXTRA_GEO, mGeolocation);
        intent.putExtra(EXTRA_CURRENTADDRESS, mCurrentAddress);
        startActivity(intent);
    }
    return false;
}

@Override
public void onPause() {
    Log.d("Main Activity",
            "OnPause called");      
    super.onPause();
    if (mLocationClient != null) {
        mLocationClient.disconnect();
    }`
}
onCameraChange事件也不被调用


提前感谢您的帮助。

好的!最后,我自己解决了这个问题。不知何故,我将mLocationClient声明为活动的静态成员

私有静态位置客户端mLocationClient


这个问题是由“静态”引起的(我不知道为什么。因为它是私有的,所以除了访问它们的方式之外应该是相同的)。从上述语句中删除“static”属性后,现在一切正常。

您尝试使用哪种方法连接到GoogleAppClient?我的猜测是,当您返回到初始活动时,GoogleMap再次被实例化,因此,您配置的实例与您返回时可见的实例不同。当您返回到Map活动时,是否看到名为的
onConnected日志?API可能仍处于连接状态,不需要重新连接。您能显示启动子活动的代码吗?它是在onResume中调用的,我在这里调用LocationClient的connect方法。LocationClient已在onPause中断开连接。连接位置服务时,connect方法将触发onConnected回调。我可以在onConnected中看到日志,并且可以调试到该方法中。我没有看到任何异常,但相机就是不动。