TileOverlay与Android和谷歌地图

时间:2016-07-15 03:20:00

标签: android google-maps overlay

我已经使用MapTiler制作了一些瓷砖,我试图用Android安装到Google地图上并且没有太多运气。 Android文档在这个主题上非常稀疏,但我已经完成了我认为应该工作的东西,但是当我放大到正确的水平时我没有看到这些瓷砖。我试图在onMapReady()回调中进行叠加,我应该在其他地方做这个吗?

这是我对onMapReady方法的代码:

@Override
public void onMapReady(GoogleMap googleMap) {
    googleMap.setMapType(GoogleMap.MAP_TYPE_SATELLITE);
    googleMap.setMyLocationEnabled(true);
    CameraPosition cameraPosition = new CameraPosition.Builder().target(new LatLng(44.481705,-114.9378269)).zoom(16).build();
    googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
    mTileOverlay = googleMap.addTileOverlay(new TileOverlayOptions()
    .tileProvider((new UrlTileProvider(256, 256) {
        @Override
        public URL getTileUrl(int x, int y, int zoom) {
            String s = "http://www.example.com/tiles/"+zoom+"/"+x+"/"+y+".png";
            // added this logging to see what the url is
            Log.d("home", s);
            try {
                return new URL(s);
            } catch (MalformedURLException e) {
                throw new AssertionError(e);
            }
        }
    })));
}

这里的任何想法?

TIA

编辑:我已经添加了一些日志记录来查看'' (我的网址)正在返回,并且它正在返回正确的网址,我的服务器正在从该网址正确提供网格,但仍未在Android地图上看到任何内容。

1 个答案:

答案 0 :(得分:0)

事实证明我在getTileUrl()方法中有一个toast,它阻止了图像的返回。当我删除它时,瓷砖正确提供。