Map Tiles API로 세션 토큰 사용

세션 토큰은 일련의 관련 메시지 교환인 세션을 식별하기 위해 REST 호출에서 사용되는 데이터 조각 (UUID)입니다. 2D 타일 및 스트리트 뷰 이미지에 대한 모든 요청에 세션 토큰을 포함해야 합니다. 모든 요청 URL에 추가되는 session 매개변수 값으로 포함합니다.

Map Tiles API에서 세션 토큰은 정의된 표시 옵션 집합을 나타냅니다. 즉, 각 타일 요청과 함께 표시 옵션 집합을 전달할 필요가 없습니다. 여러 클라이언트에서 동일한 세션 토큰을 사용할 수 있습니다. 세션 토큰은 현재 발급 시간 후 2주 동안 유효하지만 변경될 수 있습니다. 언제든지 응답 메시지의 expiry 필드를 확인하여 세션 토큰의 만료 시간을 확인할 수 있습니다.

세션 토큰 요청

세션 토큰을 요청하려면 다음 예시와 같이 createSession 엔드포인트에 HTTPS POST 요청을 보냅니다. Content-Type: application/json 헤더와 함께 요청을 보내야 합니다.

curl -X POST -d '{
  "mapType": "streetview",
  "language": "en-US",
  "region": "US"
}' \
-H 'Content-Type: application/json' \
"https://tile.googleapis.com/v1/createSession?key=YOUR_API_KEY"

필수 입력란

mapType

기본 지도 유형입니다. 이 값은 다음 중 하나일 수 있습니다.

roadmap
Google 지도의 표준 채색 지도 타일
satellite
위성 이미지
terrain
지형 이미지 terrain를 지도 유형으로 선택할 때는 layerRoadmap 레이어 유형도 포함해야 합니다 (선택적 필드 섹션에 설명되어 있음).
streetview
스트리트 뷰 파노라마입니다. 자세한 내용은 스트리트 뷰 타일을 참고하세요.
language

타일에 정보를 표시하는 데 사용되는 언어를 지정하는 IETF 언어 태그입니다. 예를 들어 en-US는 미국에서 사용되는 영어를 지정합니다.

region

공통 언어 데이터 저장소의 지역 식별자 (대문자 2개)는 사용자의 실제 위치를 나타냅니다. 예를 들면 다음과 같습니다. US

선택적 필드

imageFormat
반환할 파일 형식을 지정합니다. 유효한 값은 jpeg 또는 png입니다. JPEG 파일은 투명도를 지원하지 않으므로 오버레이 타일에 권장되지 않습니다. imageFormat를 지정하지 않으면 최적의 카드 형식이 자동으로 선택됩니다.
scale

기본 타일의 크기와 커버리지 영역을 유지하면서 지도 요소 (예: 도로 라벨)의 크기를 늘립니다. 배율을 늘리면 지도의 라벨 수가 줄어들어 혼잡스러움이 줄어듭니다. 다음 값은 유효한 scale 값입니다.

  • scaleFactor1x: 기본값입니다.
  • scaleFactor2x: 라벨 크기를 두 배로 늘리고 부수적인 지형지물 라벨을 삭제합니다.
  • scaleFactor4x: 라벨 크기를 네 배로 하고 부차적인 지형지물 라벨을 삭제합니다.

다음 예는 지도 요소 크기 조정의 효과를 보여줍니다.

배율 인수 1x 배율 인수 2x
배율 인수 1x를 보여주는 지도 배율 인수 2x를 보여주는 지도
highDpi
고해상도 타일을 반환할지 여부를 지정합니다. 배율이 증가하면 highDpi를 사용하여 타일의 크기를 키웁니다. 일반적으로 배율을 높이면 결과 타일이 같은 크기의 이미지로 확대되어 품질이 떨어집니다. highDpi를 사용하면 결과 크기도 증가하여 품질을 유지할 수 있습니다. DPI는 '인치당 도트 수'를 의미하며 높은 DPI는 일반적인 인치당 도트 수를 사용하여 타일이 렌더링됨을 의미합니다. true인 경우 각 x 및 y 차원의 픽셀 수를 배율 인수 (즉, 2x 또는 4x)로 곱합니다. 카드의 적용 범위 영역은 변경되지 않습니다. 이 매개변수는 scale 값이 2x 또는 4x일 때만 작동합니다. 1x 배율 타일에는 영향을 미치지 않습니다.
배율 인수 1x 배율 인수 2x 높은 DPI
일반 해상도로 표시된 지도 2배 높은 DPI 해상도로 표시된 지도
layerTypes

지도에 추가된 레이어 유형을 지정하는 값의 배열입니다. 유효한 값은 다음과 같습니다.

layerRoadmap
terrain을 지도 유형으로 지정하는 경우 필수입니다. 선택적으로 satellite 지도 유형에 오버레이할 수도 있습니다. 로드맵 타일에는 영향을 미치지 않습니다.
layerStreetview
지도에서 파란색 윤곽선을 사용하여 스트리트 뷰가 사용 설정된 거리와 위치를 표시합니다.
layerTraffic
현재 교통상황을 표시합니다.
styles

도로, 공원, 시가지와 같은 지도 지형지물의 모양과 세부정보 수준을 지정하는 JSON 스타일 객체의 배열입니다. 스타일 지정은 표준 Google 기본 지도를 맞춤설정하는 데 사용됩니다. styles 매개변수는 지도 유형이 roadmap인 경우에만 유효합니다. 전체 스타일 구문은 스타일 참조를 참고하세요.

overlay

layerTypes를 별도의 오버레이로 렌더링해야 할지 아니면 기본 이미지와 결합해야 하는지 지정하는 불리언 값입니다. true인 경우 기본 지도가 표시되지 않습니다. layerTypes를 정의하지 않았다면 이 값은 무시됩니다.

예를 들어 layerRoadmap 레이어가 있는 satellite 지도 유형 및 false로 설정된 overlay를 요청하면 Maps JavaScript API에 사용된 hybrid 지도 유형과 동일한 타일이 생성됩니다 (왼쪽 이미지). overlaytrue로 설정된 동일한 지도 및 레이어 유형은 위성 이미지(오른쪽 이미지) 위에 오버레이하기에 적절한 스타일이 지정된 지도 오버레이가 있는 투명한 타일이 됩니다.

overlay: false overlay: true
오버레이가 false로 설정됨 오버레이가 true로 설정됨

다음 JSON은 필수 필드와 선택적 필드가 모두 포함된 일반적인 요청 본문의 예시입니다.

{
  "mapType": "satellite",
  "language": "en-US",
  "region": "us",
  "layerTypes": [ "layerRoadmap", "layerStreetview" ],
  "overlay":  true,
  "scale": "scaleFactor1x",
  "styles": [
    {
      "stylers": [
        { "hue": "#00ffe6" },
        { "saturation": -20 }
      ]
    },{
      "featureType": "road",
      "elementType": "geometry",
      "stylers": [
        { "lightness": 100 },
        { "visibility": "simplified" }
      ]
    }
  ]
}

이 예에서는 위성 이미지와 결합하는 데 적합한 오버레이를 제공합니다. 이 예에는 로드맵과 스트리트 뷰 오버레이가 모두 포함되어 있습니다. 결과 지도는 미국에서 사용되는 영어로 된 이름과 데이터로 렌더링됩니다.

apiOptions: 적용할 추가 옵션을 지정하는 값의 배열입니다. 지원되는 옵션은 다음과 같습니다.

  • MCYJ5E517XR2JC - 새 지도 스타일을 선택합니다. 선택 기간 동안에는 이 값이 지정되지 않는 한 요청에 기존 스타일이 적용됩니다.

세션 토큰 응답

다음 JSON은 응답 본문의 예입니다.

{
  "session": "IgAAAHGU9jnAU4KOAfwY3Bcd6eH_WxQsyocSBAdUnAr9pnvTTNXtF9c_27RBo94ytEXTDg",
  "expiry": "1361828036",
  "tileWidth": 256,
  "tileHeight": 256,
  "imageFormat": "png"
}

다음 목록에는 응답 본문의 필드 정의가 포함되어 있습니다.

session
모든 Map Tiles API 요청에 포함해야 하는 세션 토큰 값입니다.
expiry
토큰이 만료되는 시간 (에포크 이후 초 단위)이 포함된 문자열입니다. 세션 토큰은 생성 후 2주 동안 유효하지만 이 정책은 예고 없이 변경될 수 있습니다.
tileWidth
픽셀 단위로 측정된 타일의 너비입니다.
tileHeight
픽셀 단위로 측정된 타일의 높이입니다.
imageFormat
이미지 형식으로, png 또는 jpeg일 수 있습니다.