TileOverlay与android和谷歌地图
我已经使用MapTiler创建了一些图块,我正试图用android将它们覆盖到谷歌地图上,但运气不太好。关于这个主题的Android文档非常稀少,但是我已经做了我认为应该有效的事情,但是当我放大到正确的级别时,我没有看到这些瓷砖。我试图在onMapReady()回调中实现覆盖,我应该在其他地方这样做吗 以下是我为onMapReady方法编写的代码:TileOverlay与android和谷歌地图,android,google-maps,overlay,Android,Google Maps,Overlay,我已经使用MapTiler创建了一些图块,我正试图用android将它们覆盖到谷歌地图上,但运气不太好。关于这个主题的Android文档非常稀少,但是我已经做了我认为应该有效的事情,但是当我放大到正确的级别时,我没有看到这些瓷砖。我试图在onMapReady()回调中实现覆盖,我应该在其他地方这样做吗 以下是我为onMapReady方法编写的代码: @Override public void onMapReady(GoogleMap googleMap) { googleMap.setM
@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);
}
}
})));
}
有什么想法吗
短暂性脑缺血发作
编辑:我添加了一些日志来查看“s”(我的url)返回的内容,它返回了正确的url,我的服务器从该url正确地提供了分幅,但在android中仍然没有在地图上看到任何内容。结果是,我的getTileUrl()方法中有一个吐司,阻止了图像返回。当我把它取下来的时候,瓷砖的供应是正确的 你的代码是正确的。您能使用知名的瓷砖服务进行检查吗?例如
strings=”http://b.tile.openstreetmap.org/“+zoom+”/“+x+”/“+y+”.png”代码>我的getTileUrl()中有一个祝酒词,真是太棒了。自从我把它移除后,一切都正常了。谢谢你的评论。很高兴听到它起作用了!你能发布一个答案并接受它,这样这个问题可以帮助别人吗?