我从昨天开始搜索,但我还没有成功,
我按照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);
但是暂时使用它并且它不准确。当我走到极端并且放大时,我可以看到原始的谷歌地图(灰色网格 - 因为我禁用了地图)。
我还有其他方法可以尝试,以便地图只显示(放大/缩小)瓷砖叠加设置的位置。