전단지와 함께 로컬 타일 레이어 사용

오즈 헤이 만

React와 Leaflet으로 프로젝트를 만들고 있습니다.

이 프로젝트는 아무것도 연결되지 않은 컴퓨터에서 오프라인으로 실행되므로 동일한 컴퓨터 (타일 서버 없음)에 타일 레이어를 저장해야합니다.

몇 국가 만 고정 된 매우 간단한지도가 필요하기 때문에 너무 무겁지 않을 것 같습니다.

  • 클라이언트에 전체 타일 레이어를 저장할 수 있습니까?
  • 어디에서 다운로드 할 수 있습니까? 또는 오프라인 사용을 위해 이러한 맵을 만들려면 어떻게해야합니까 (무료 여야 함)? 나는 한 번만 할 것이기 때문에 학습 곡선이 낮은 도구를 선호합니다.
<MapContainer center={[lat,lng]} zoom={z}>
    <TileLayer
      attribution='&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
      url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png" <-- this needs to be stored locally
    />
</MapContainer>
세스 루츠 케

이것은 이미 알려진 문제 이지만 필요한 것보다 약간 더 복잡한 대답이 있습니다. 내 의사 대답 / 조언은 다음과 같습니다.

시작하기 전에 slippymap 타일 이름에 대한 이 기사 를 읽어 보는 것이 좋습니다 . 도움이 될 것입니다 ...

고정 확대 / 축소가 있고 제한된 맵 범위 (경계)처럼 들리는 것을 고려할 때 타일을 얻는 것이 너무 어렵지 않아야합니다. 해당 확대 / 축소 및 경계로 설정된 전단지 맵이있는 브라우저를 열고 네트워크 탭을 살펴 봅니다. 필요한 모든 타일에 대한 네트워크 요청이 표시되고 해당 타일에 대한 URL이 표시됩니다. 그런 다음 해당 타일을 직접 다운로드 할 수 있습니다.

이를 위해 전단지 오프라인사용할 수도 있습니다 . 모든 타일 URL을 가져오고 필요한 타일 URL을 아름답게 배치하는 훌륭한 도구입니다. leaflet-offline은 필요한 디렉토리 구조에서 이러한 모든 타일을 자동으로 다운로드하는 방법을 제공 할 수도 있지만 문서를 따르기가 어렵다는 것을 알았습니다.

컴퓨터 어딘가에 디렉토리를 만들고 "my-offline-tiles"와 같이 유용한 이름을 지정합니다. 해당 디렉토리에서 하위 디렉토리를 만들고지도에 예상되는 확대 / 축소 수준의 이름을 지정합니다 (10이라고 말함). 따라서 다음과 같은 것이 있습니다.

/my-offlline-tiles
  /10

한 번에 하나의 타일을 다운로드 할 때 다운로드하면 "32.png"와 같은 이름이 지정되거나 기본적으로 "someNumber.png"와 같은 이름이 지정됩니다. 이 숫자 (내가 링크 한 기사에서 설명했듯이)는 주어진 확대 / 축소 및 x 열에 대한 타일의 y 위치입니다. 따라서 해당 URL에있는 z 및 x 값에주의를 기울이고 타일을 "my-offline-tiles"디렉토리의 적절한 하위 디렉토리로 다운로드해야합니다. 예를 들어,로 끝나는 모든 타일 10/245/something.png은 다음 디렉토리로 이동합니다.

/my-offlline-tiles
  /10
    /245
      something.png

당신은 당신의 디렉토리 아래에 소수의 디렉토리 /10와 각각의 소수의 png 파일로 끝날 것입니다 . 이 기사에서 읽으 셨으면하는 것처럼 타일 서버가 쉽게 액세스 할 수 있도록 타일 파일을 구성하는 방법입니다. 해당 구조를 복제하고 원하는 확대 / 축소 수준에 대한 범위를 포함 할 수있는 충분한 타일 만 제공해야합니다.

이제지도에서 해당 L.tileLayer의 URL을 타일 위치로 지정하기 만하면됩니다. 수 있습니다 말은 /my-offlline-tilespublic(당신의 index.html을 포함) 프로젝트의 디렉토리

<TileLayer url="/my-offline-tiles/{z}/{x}/{y}.png" />

프로젝트 구조, 빌드 프로세스 또는 실행중인 머신의 dir 구조에 따라 약간 조정해야 할 수 있습니다. 기본적으로 리 액트 앱이 머신에서 이러한 파일을 찾을 수있는 위치를 알고 있는지 확인해야합니다. 그러나 그렇게하는 한, 전단지는 타일을 찾아서 예상대로지도에 렌더링합니다.

시작하기에 충분하길 바랍니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

전단지와 함께 로컬 타일 레이어 사용

분류에서Dev

각도 전단지 맵은 타일 레이어와 함께 회색으로 표시됩니다.

분류에서Dev

전송 레이어로 nc와 함께 rsync 사용

분류에서Dev

인터페이스와 함께 일반 컬렉션 사용

분류에서Dev

어레이와 함께 % s 사용

분류에서Dev

미디어 쿼리와 함께 Flexbox를 사용하여 <ul> 스타일 지정

분류에서Dev

opencl-로컬 메모리와 함께 이미지 객체 사용

분류에서Dev

React js와 함께 스타일이 지정된 구성 요소 사용

분류에서Dev

dronedeploy를 사용한 전단지 타일 레이어

분류에서Dev

mpd와 함께 playerctl을 사용하여 mpd 및 기타 플레이어의 미디어 키로 음악을 제어하는 방법

분류에서Dev

타이머와 함께 Catch를 사용하여 함수로 돌아갑니다.

분류에서Dev

신속한 로컬 파일 생성, NSURLSession.uploadTask와 함께 사용할 다른 로컬 파일 추가

분류에서Dev

Razor 페이지에서 파일 업로드와 함께 선택 목록 사용

분류에서Dev

Express 4, SyntaxError와 함께 스타일러스 미들웨어 사용

분류에서Dev

일부 이미지와 함께 타일 맵이로드되지 않음

분류에서Dev

로컬 저장소, IMAP 및 새 이메일의 즉각적인 푸시와 함께 mutt를 어떻게 사용할 수 있습니까?

분류에서Dev

로컬 저장소, IMAP 및 새 이메일의 즉각적인 푸시와 함께 mutt를 어떻게 사용할 수 있습니까?

분류에서Dev

Kendo UI Grid의 업데이트 기능 (AngularJs와 함께 사용)이 실행되지 않고 로컬 데이터와 함께 사용됩니다.

분류에서Dev

Artemis와 함께 사용하기위한 타일 맵의 데이터 구조

분류에서Dev

SystemStackError-스택 레벨이 너무 깊음 : ActiveRecord와 함께 메타 프로그래밍 사용

분류에서Dev

프로토 타입을 new와 함께 사용하면 어떤 이점이 있습니까?

분류에서Dev

전단지에 사용 가능한 모든 타일 레이어 목록

분류에서Dev

로컬 DB 스토리지 공급자와 함께 Jaydata를 사용할 때의 이점

분류에서Dev

컴포넌트에서 스타일이 지정된 컴포넌트와 함께 React에서 소품 사용

분류에서Dev

타사 라이브러리와 함께 CGAL 5.1 사용

분류에서Dev

netbeans와 함께 타사 라이브러리 사용

분류에서Dev

Jint와 함께 타사 js 라이브러리 사용

분류에서Dev

각도 라이브러리를 만들고 내 각도 프로젝트와 함께 로컬로 사용

분류에서Dev

레이아웃 구문 분석 헤더와 함께 Postal MVC를 메일 본문으로 사용

Related 관련 기사

  1. 1

    전단지와 함께 로컬 타일 레이어 사용

  2. 2

    각도 전단지 맵은 타일 레이어와 함께 회색으로 표시됩니다.

  3. 3

    전송 레이어로 nc와 함께 rsync 사용

  4. 4

    인터페이스와 함께 일반 컬렉션 사용

  5. 5

    어레이와 함께 % s 사용

  6. 6

    미디어 쿼리와 함께 Flexbox를 사용하여 <ul> 스타일 지정

  7. 7

    opencl-로컬 메모리와 함께 이미지 객체 사용

  8. 8

    React js와 함께 스타일이 지정된 구성 요소 사용

  9. 9

    dronedeploy를 사용한 전단지 타일 레이어

  10. 10

    mpd와 함께 playerctl을 사용하여 mpd 및 기타 플레이어의 미디어 키로 음악을 제어하는 방법

  11. 11

    타이머와 함께 Catch를 사용하여 함수로 돌아갑니다.

  12. 12

    신속한 로컬 파일 생성, NSURLSession.uploadTask와 함께 사용할 다른 로컬 파일 추가

  13. 13

    Razor 페이지에서 파일 업로드와 함께 선택 목록 사용

  14. 14

    Express 4, SyntaxError와 함께 스타일러스 미들웨어 사용

  15. 15

    일부 이미지와 함께 타일 맵이로드되지 않음

  16. 16

    로컬 저장소, IMAP 및 새 이메일의 즉각적인 푸시와 함께 mutt를 어떻게 사용할 수 있습니까?

  17. 17

    로컬 저장소, IMAP 및 새 이메일의 즉각적인 푸시와 함께 mutt를 어떻게 사용할 수 있습니까?

  18. 18

    Kendo UI Grid의 업데이트 기능 (AngularJs와 함께 사용)이 실행되지 않고 로컬 데이터와 함께 사용됩니다.

  19. 19

    Artemis와 함께 사용하기위한 타일 맵의 데이터 구조

  20. 20

    SystemStackError-스택 레벨이 너무 깊음 : ActiveRecord와 함께 메타 프로그래밍 사용

  21. 21

    프로토 타입을 new와 함께 사용하면 어떤 이점이 있습니까?

  22. 22

    전단지에 사용 가능한 모든 타일 레이어 목록

  23. 23

    로컬 DB 스토리지 공급자와 함께 Jaydata를 사용할 때의 이점

  24. 24

    컴포넌트에서 스타일이 지정된 컴포넌트와 함께 React에서 소품 사용

  25. 25

    타사 라이브러리와 함께 CGAL 5.1 사용

  26. 26

    netbeans와 함께 타사 라이브러리 사용

  27. 27

    Jint와 함께 타사 js 라이브러리 사용

  28. 28

    각도 라이브러리를 만들고 내 각도 프로젝트와 함께 로컬로 사용

  29. 29

    레이아웃 구문 분석 헤더와 함께 Postal MVC를 메일 본문으로 사용

뜨겁다태그

보관