限制地图移动到除Google地图中的平铺叠加层之外的其他位置

时间:2014-11-20 07:17:52

标签: android google-maps

我从昨天开始搜索,但我还没有成功,

我按照http://developer.android.com/reference/com/google/android/gms/maps/model/TileOverlay.html

中的步骤操作

用于实现Tile Overlay,我可以完美地完成它。

但问题是我不想将谷歌地图导航到除了放置在图块叠加层中的图像之外的其他地方。

以下是我用来执行此操作的代码,

if (mMap == null) 
{
  mMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.maps)).getMap();

  GoogleMap.OnCameraChangeListener  ccl = new OnCameraChangeListener() 
  {

    @Override
    public void onCameraChange(CameraPosition camerapos) {
        if(camerapos.zoom < 15 && camerapos.zoom > 11)  
        {
            mMap.getUiSettings().setScrollGesturesEnabled(true);
        }
        else
        {
            CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngZoom(new LatLng(60.101732 , 10.537432), 11f);  
            mMap.animateCamera(cameraUpdate);                                        //59.805140, 10.036319
            mMap.getUiSettings().setScrollGesturesEnabled(false);
        }

        if(camerapos.target.longitude > 10.892347 )  
        {
            CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngZoom(new LatLng(60.101732 , 10.537432), 11f); 
            mMap.animateCamera(cameraUpdate);                                       //59.805140, 10.036319

            mMap.getUiSettings().setScrollGesturesEnabled(false);
        }

        if(camerapos.target.longitude < 10.23461356 )  
        {
            CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngZoom(new LatLng(60.101732 , 10.537432), 11f); 
            mMap.animateCamera(cameraUpdate);                                       //59.805140, 10.036319

            mMap.getUiSettings().setScrollGesturesEnabled(false);
        }

        if(camerapos.target.latitude > 60.35452469 ) 
        {
            CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngZoom(new LatLng(60.101732 , 10.537432), 11f);  
            mMap.animateCamera(cameraUpdate);                                       //59.805140, 10.036319
            mMap.getUiSettings().setScrollGesturesEnabled(false);
        }

        if(camerapos.target.latitude < 59.9084916 )  
        {
            CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngZoom(new LatLng(60.101732 , 10.537432), 11f);
            mMap.animateCamera(cameraUpdate);                                       
            mMap.getUiSettings().setScrollGesturesEnabled(false);
        }
  }
 };
 mMap.setOnCameraChangeListener(ccl);

但是暂时使用它并且它不准确。当我走到极端并且放大时,我可以看到原始的谷歌地图(灰色网格 - 因为我禁用了地图)。

我还有其他方法可以尝试,以便地图只显示(放大/缩小)瓷砖叠加设置的位置。

0 个答案:

没有答案