我已经使用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的地图上仍然看不到任何内容。
事实证明,我在getTileUrl()方法中敬酒,阻止了图像返回。当我删除它时,磁贴已正确送达。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句