Личные / реактивные карты - локальные / автономные на iOS - PullRequest
0 голосов
/ 10 января 2019

Я пытался отключить рендеринг листов листов / 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:

oneTile

Я оставил комментарий к этой теме на github , который выглядел почти идентично всем предпринятым мною шагам, за исключением того, что я был извлечен из expo в приложении, с которым я работаю.

Я пытался следовать этой статье , но я не могу понять, как правильно расположить эти плитки в регионе. Использование формулы, которую он предоставил, похоже, не имитирует те же уровни масштабирования, что и в реакции-листовке, как это было реализовано ранее, и я всегда получаю ошибку выхода за пределы диапазона при попытке установить параметры региона.

Я видел предоставленные примеры и просто не понимаю, как преобразовать эту систему отображения в работу с плитками OSM, которые работают в виде карты на основе листовок.

...