Я пытаюсь добавить TileOverlay к моей карте Google на Android. Следующий код не работает. Наложение не отображается, ни один из (тестовых) тостов не запущен.
public void onMapReady(GoogleMap googleMap) {
mGoogleMap = googleMap;
//mGoogleMap.setMapType(GoogleMap.MAP_TYPE_TERRAIN);
mGoogleMap.setMapType(GoogleMap.MAP_TYPE_TERRAIN);
LatLng foo = new LatLng(50, 12);
mGoogleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(foo, 15));
TileProvider tileProvider = new UrlTileProvider(256, 256) {
@Override
public URL getTileUrl(int x, int y, int zoom) {
Toast.makeText(MapsActivity.this, "Test1.", Toast.LENGTH_LONG).show();
/* Define the URL pattern for the tile images */
String s = String.format("https://a.tile.openstreetmap.org/${z}/${x}/${y}.png",
zoom, x, y);
if (!checkTileExists(x, y, zoom)) {
Toast.makeText(MapsActivity.this, "Tile does not exist.", Toast.LENGTH_LONG).show();
return null;
}
try {
Toast.makeText(MapsActivity.this, s, Toast.LENGTH_LONG).show();
return new URL(s);
} catch (MalformedURLException e) {
Toast.makeText(MapsActivity.this, e.toString(), Toast.LENGTH_LONG).show();
throw new AssertionError(e);
}
}
private boolean checkTileExists(int x, int y, int zoom) {
int minZoom = 5;
int maxZoom = 18;
if ((zoom < minZoom || zoom > maxZoom)) {
return false;
}
return true;
}
};
TileOverlay tileOverlay = mGoogleMap.addTileOverlay(new TileOverlayOptions()
.tileProvider(tileProvider));
}
Есть идеи, что случилось? Спасибо и счастливой Пасхи!