지도 타일은 단순히 세계를 색인이 생성된 분할된 그리드 이를 통해 여러 지리적 척도에서 지도 데이터에 효율적이고 동적으로 액세스하고 활용할 수 있습니다. Map Tiles API를 통해 다음 기능에 액세스할 수 있습니다. Google 선별을 포함한 여러 주제별 지리 데이터 세트:
Google의 카토그래피 스타일을 적용한 벡터 지형지물 데이터를 기반으로 하는 도로 지도 이미지 타일입니다.
위성 및 공중 카메라로 캡처한 정형 촬영술은 지구의 하향식 이미지
언덕 위 등고선 지도
2D 지도 타일은 모두 위치정보가 참조되고 서로 정렬됩니다. 사용자가 선정되었습니다. 위치를 변경할 수 있습니다. 확대/축소 수준 0부터 (전 세계를 보기 위해)에서 22 (거리와 거리 보기)까지 블록)을 사용합니다.
지도 테마
다음 지도 테마의 지도 타일을 가져올 수 있습니다.
지도 테마 | 설명 |
---|---|
로드맵 | 도로, 건물, 관심 장소, 정치적 경계 |
위성 지도 | 우주에서 촬영한 사진 이미지 |
지형 | 식생과 같은 자연 지형지물을 보여주는 등고선 지도 |
Map Tiles API에서 지도 타일을 요청하려면 먼저
세션 토큰을 반환합니다. 세션 토큰
은 지도와 표시 영역의 현재 상태를 추적합니다. 세션을 설정하는 경우
토큰이라면 원하는 지도 테마와 일치하도록 mapType
값을 설정해야 합니다.
그런 다음 Map Tiles API에 대한 각 요청에 세션 토큰을 포함해야 합니다.
표시 영역 정보 요청
표시 영역은 세계 장면을 둘러싸는 상자의 크기를 정의합니다. 표시 영역 정보 요청은 사용자의 지도를 구성하는 지도 타일에 대한 세부 정보를 확인할 수 있습니다. 뷰포트 정보를 요청하는 이유는 존재하지 않는 확대/축소 수준에서 이미지를 요청하지 않도록 하기 위함입니다.
예를 들어 대부분의 도시에는 확대/축소 수준이 22인 이미지가 있지만, 그 이후로 바다는 특징이 없는 파란색 정사각형이 표시됩니다.
표시 영역 요청은 다음 형식의 HTTPS GET 요청입니다.
curl "https://tile.googleapis.com/tile/v1/viewport?session=YOUR_SESSION_TOKEN &key=YOUR_API_KEY &zoom=zoom &north=north &south=south &east=east &west=west"
요청에는 다음 필드가 포함됩니다.
zoom
- 표시 영역의 확대/축소 수준입니다.
north
,south
,east
,west
- 표시 영역에서 가장 먼 북쪽, 남쪽, 동쪽, 서쪽 지점이며, 도 있습니다. 북쪽과 남쪽의 범위는 (-90,90), 동쪽과 서쪽의 범위 내에 있어야 합니다. 범위 (-180, 180)입니다. 대칭 자오선을 가로지르는 경계를 표현하기 위해 서쪽은 다음과 같을 수 있습니다. 양수 (예: 170) 및 동쪽은 음수 (예: -170)일 수 있습니다. 전체 매개변수가 필요합니다.
표시 영역 정보 응답
표시 영역 응답은 이미지가 있는 영역과 확대/축소 위치를 알려줍니다. 있습니다. 표시 영역 정보 응답의 형식은 다음과 같습니다.
{
"copyright": "Map data ©2023",
"maxZoomRects": [
{
"maxZoom": 19,
"north": 90,
"south": -90,
"east": 180,
"west": -180
},
{
"maxZoom": 9,
"north": 90,
"south": -90,
"east": 180,
"west": -180
},
{
"maxZoom": 14,
"north": 84.375,
"south": -84.375,
"east": 180,
"west": -180
}, ...
]
}
응답 본문에는 다음 필드가 포함됩니다.
copyright
- 다음을 수행할 때 지도에 표시해야 하는 저작자 표시 문자열을 포함합니다. 로드맵과 위성 타일을 표시합니다. 자세한 내용은 Map Tiles API 정책
maxZoomRect
- 현재 경계와 겹치는 경계 직사각형의 배열을 포함합니다. 표시 영역입니다. 또한 각 직사각형 내에서 사용할 수 있는 최대 줌레벨을 포함합니다.
타일 좌표 함수
대부분의 프로그래밍 언어에서 도구 (단순 함수)를 사용하여 변환할 수 있음
위도/경도 쌍에서 특정 확대/축소 수준의 타일 좌표로 변경할 수 있습니다.
먼저
latLng
을 지점으로 이동한 후 지점에서 타일 좌표로 이동합니다.
var TILE_SIZE = 256;
function fromLatLngToPoint(latLng) {
var mercator = -Math.log(Math.tan((0.25 + latLng.lat() / 360) * Math.PI));
return {
x: TILE_SIZE * (latLng.lng() / 360 + 0.5),
y: TILE_SIZE / 2 * (1 + mercator / Math.PI)
};
}
function fromLatLngToTileCoord(latLng, zoom) {
var point = fromLatLngToPoint(latLng);
var scale = Math.pow(2, zoom);
return {
x: Math.floor(point.x * scale / TILE_SIZE),
y: Math.floor(point.y * scale / TILE_SIZE),
z: zoom
};
}