机器人地图 - 检查中心摄像机是否在界限范围内

时间:2015-03-06 00:05:46

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

我想创建一个方法来查看相机的中心是否在一个区域的范围内,如果是,那就做点什么。

当我尝试这个时,我收到错误:Operator ! cannot be applied to LatLngBounds

我也试过了if(temp != new LatLngBounds(bounds1, bounds2)),但也遇到了同样的错误。

这是我的方法

public GoogleMap.OnCameraChangeListener getCameraChangeListener()
{
    return new GoogleMap.OnCameraChangeListener()
    {
        @Override
        public void onCameraChange(CameraPosition cameraPosition)
        {
            LatLng temp = new LatLng(cameraPosition.target.latitude, cameraPosition.target.longitude);

            //Northwest corner of bounds
            LatLng bounds1 = new LatLng(-41.467668522, 173.03190229); 

            //Southwest corner of bounds 
            LatLng bounds2 = new LatLng(-40.095127348, 177.97574994);

            LatLngBounds outside = new LatLngBounds(bounds1, bounds2);

            //If the camera is within the bounds
            if(temp != outside)
            { 
               //do something
            }
        }
    };
}

1 个答案:

答案 0 :(得分:1)

我认为你的意思是东北不是西北?否则它只是一条线。

LatLngBounds有Contains方法允许

if (outside.contains(temp){
    //do something
}

然而,外部是该变量的一个误导性名称。