Обратите внимание на строку, которую вы скопировали, вставленную в ваш код:
https://maps.tilehosting.com/c/48533dee-0f32-42a2-a6db-315bbc7ecca8/styles/bdbasic/{z}/{x}/{y}.png?key=xxxxxxxxxx"
Это, очевидно, пример из документации вашего провайдера.{z}, {x} и {y} являются переменными и должны динамически добавляться osmdroid.И xxxxx должен быть заменен вашим ключом API.
Вы должны использовать только базовую часть в своем коде:
https://maps.tilehosting.com/c/48533dee-0f32-42a2-a6db-315bbc7ecca8/styles/bdbasic/
Остальная часть URL добавляется в методе getTileURLString
.У вас там тоже есть ошибка.Как вы можете видеть в примере, порядок параметров должен быть z (zoom) x и y.В вашем коде поменялись местами x и y.
В примере также намекает на то, что у вас должен быть некоторый ключ API.Так что проверьте документацию поставщика плитки снова и получите ключ, если необходимо.Вы можете передать ключ через параметр, который теперь содержит только «.png».Вам нужно изменить его на «.png? Key = yourkeyandnotthisstringorxxxxx».
В конце вы должны получить что-то вроде этого:
mapView.setTileSource(new OnlineTileSourceBase("USGS Topo", 0, 18, 256, ".png?key=yourkeyandnotthisstringorxxxxx",
new String[] { "https://maps.tilehosting.com/c/48533dee-0f32-42a2-a6db-315bbc7ecca8/styles/bdbasic/" }) {
@Override
public String getTileURLString(long pMapTileIndex) {
return getBaseUrl()
+ MapTileIndex.getZoom(pMapTileIndex)
+ "/" + MapTileIndex.getX(pMapTileIndex)
+ "/" + MapTileIndex.getY(pMapTileIndex)
+ mImageFilenameEnding;
}
});