遵循Google Tile Wrapper示例,我使用osmdroid GoogleTilesOverlay实现了一个带有Google MapView的地图。
在静止状态下,覆盖瓦片渲染得很好,但是当缩放(通过捏或通过控件)时,底层谷歌瓦片会平稳地调整大小并替换,但是osmd叠加层不会调整大小。结果是:在缩放时,仍然在视图中的瓦片开始重叠。反之,当缩小时,每个瓦片之间会出现间隙。
我认为第一步是对GoogleTilesOverlay进行子类化,以便可以修改draw()方法。但是接下来该怎么做呢?
我进行了艰苦的搜索,并找到了一些指向: a)在动画过程中从draw()方法中短路出去 b)使用Projector/Matrix类实时确定如何缩放叠加层
不幸的是,我不是Android API的专家,因此不确定该选择哪种方式...然后如何最佳实现解决方案。
com.google.android.maps.MapView googleMapView;
org.osmdroid.google.wrapper.MapView osmdMapView;
org.osmdroid.google.overlay.GoogleTilesOverlay tiles;
final MapView googleMapView = (com.google.android.maps.MapView.MapView) findViewById(R.id.plan_mapview);
osmdMapView = new org.osmdroid.google.wrapper.MapView(gMapView);
// snip Provider instantiation etc.
overlayTiles = new GoogleTilesOverlay(provider, getApplicationContext());
gMapView.getOverlays().add(overlayTiles);
在静止状态下,覆盖瓦片渲染得很好,但是当缩放(通过捏或通过控件)时,底层谷歌瓦片会平稳地调整大小并替换,但是osmd叠加层不会调整大小。结果是:在缩放时,仍然在视图中的瓦片开始重叠。反之,当缩小时,每个瓦片之间会出现间隙。
我认为第一步是对GoogleTilesOverlay进行子类化,以便可以修改draw()方法。但是接下来该怎么做呢?
我进行了艰苦的搜索,并找到了一些指向: a)在动画过程中从draw()方法中短路出去 b)使用Projector/Matrix类实时确定如何缩放叠加层
不幸的是,我不是Android API的专家,因此不确定该选择哪种方式...然后如何最佳实现解决方案。