Я пытался отключить рендеринг листов листов / openStreetMap в представлении реагировать на собственные карты с компонентами <LocalTile/>
и <UrlTile/>
.
Я могу отобразить карту на Android и iOS и увидеть стандартную карту для каждой платформы с PROVIDER_DEFAULT
(Apple MapKit и Google Maps соответственно).
Я загружаю плитки в виде zip-файла и распаковываю их в соответствующий путь для хранения документов на каждом типе устройства.
Я проверяю, что пути работают и что карта может получить доступ к этим изображениям с помощью следующего кода:
render() {
const { region } = this.state;
//gets the document directory based on platform(ios/android)
const docDir = BlobService.setDocDir();
const tilesPath = `${docDir}/projects/${this.props.projectId}/pdf/tiles/${
this.props.floorData.id
}/{z}/tile_{x}_{y}.png`;
return (
<View style={styles.container}>
<MapView
provider={PROVIDER_DEFAULT}
mapType={MAP_TYPES.STANDARD}
style={styles.map}
initialRegion={region}
>
<LocalTile pathTemplate={tilesPath} tileSize={512} zIndex={-1} />
</MapView>
<View style={styles.buttonContainer}>
//button code removed for brevity
</View>
</View>
);
}
Ссылаясь на мои комментарии в приведенном выше фрагменте кода:
1) путь к плиткам форматируется в (0,1,2,3) форматах папок с номерами, соответствующими соответствующим уровням масштабирования.
2) Кажется, что путь к плиткам работает, однако кажется, что он только бесконечно разбивает плитку на одну плитку, а уровни масштабирования не соответствуют уровням масштабирования OSM / Leaflet:
Я оставил комментарий к этой теме на github , который выглядел почти идентично всем предпринятым мною шагам, за исключением того, что я был извлечен из expo в приложении, с которым я работаю.
Я пытался следовать этой статье , но я не могу понять, как правильно расположить эти плитки в регионе. Использование формулы, которую он предоставил, похоже, не имитирует те же уровни масштабирования, что и в реакции-листовке, как это было реализовано ранее, и я всегда получаю ошибку выхода за пределы диапазона при попытке установить параметры региона.
Я видел предоставленные примеры и просто не понимаю, как преобразовать эту систему отображения в работу с плитками OSM, которые работают в виде карты на основе листовок.