개요
iOS용 Google 지도 SDK의 기본 클래스이며 지도와 관련된 모든 메서드의 진입점입니다.
지도는 생성자 -init 또는 -initWithOptions: 중 하나를 통해 인스턴스화되어야 합니다.
GMSMapView는 모든 UIKit 객체와 마찬가지로 기본 스레드에서만 읽고 수정할 수 있습니다. 다른 스레드에서 이러한 메서드를 호출하면 예외 또는 정의되지 않은 동작이 발생합니다.
공개 멤버 함수 | |
(instancetype) | - init |
CGRectZero 및 기본 옵션을 사용하여 초기화합니다. | |
(instancetype) | - initWithOptions: |
지정된 옵션으로 새 지도뷰를 만듭니다. | |
(instancetype) | - initWithFrame: |
(instancetype) | - initWithCoder: |
(instancetype) | - initWithFrame:camera: |
프레임과 카메라 타겟이 있는 지도뷰를 빌드하고 반환합니다. | |
(instancetype) | - initWithFrame:mapID:camera: |
프레임, 지도 ID, 카메라 타겟이 있는 지도뷰를 빌드하고 반환합니다. | |
(void) | - startRendering |
이 지도에 렌더기의 전원을 켜도록 지시합니다. | |
(void) | - stopRendering |
이 지도에 렌더기의 전원을 끄도록 지시합니다. | |
(void) | - 지우기 |
마커, 폴리라인, 지면 오버레이를 비롯하여 지도에 추가된 모든 마크업을 지웁니다. | |
(void) | - setMinZoom:maxZoom: |
minZoom 와 maxZoom 를 설정합니다. | |
(nullable GMSCameraPosition *) | - cameraForBounds:insets:를 방문하시기 바랍니다. |
padding 로 bounds 를 표시하는 GMSCameraPosition을 빌드합니다. | |
(void) | - moveCamera: |
update 에 따라 카메라를 변경합니다. | |
(BOOL) | - areEqualForRenderingPosition:position: |
내부적으로 사용되는 정밀도 수준과 변환을 고려하여 지정된 카메라 위치로 인해 카메라가 실제로 동일하게 렌더링되는지 확인합니다. | |
(GMSFeatureLayer < GMSPlaceFeature * > *) | - featureLayerOfFeatureType: |
지정된 유형의 지형지물 레이어를 반환합니다. | |
(void) | - animateToCameraPosition: |
이 지도의 카메라를 cameraPosition 에 애니메이션 처리합니다. | |
(void) | - animateToLocation: |
animateToCameraPosition:으로 설정하지만 카메라의 위치만 변경합니다 (현재 위치에서 location 로 변경). | |
(void) | - animateToZoom: |
animateToCameraPosition:으로 설정하고 카메라의 확대/축소 수준만 변경합니다. | |
(void) | - animateToBearing: |
animateToCameraPosition:으로 설정하지만 카메라의 방위 (단위: 도)만 변경합니다. | |
(void) | - animateToViewingAngle: |
animateToCameraPosition:으로 설정하지만 카메라의 시야각 (단위: 도)만 변경합니다. | |
(void) | - animateWithCameraUpdate: |
현재 카메라에 cameraUpdate 를 적용한 다음 animateToCameraPosition:에 따라 결과를 사용합니다. | |
정적 공개 구성원 함수 | |
(instancetype) | + mapWithFrame:camera: |
프레임과 카메라 타겟이 있는 지도뷰를 빌드하고 반환합니다. | |
(instancetype) | + mapWithFrame:mapID:camera: |
프레임, 지도 ID, 카메라 타겟이 있는 지도뷰를 빌드하고 반환하는 편리한 이니셜라이저입니다. | |
속성 | |
IBOutlet id< GMSMapViewDelegate > | 위임 |
GMSMapView 위임. | |
GMSCameraPosition * | 카메라 |
지도의 방향을 정의하는 카메라를 제어합니다. | |
GMSProjection * | projection |
화면 좌표와 위도/경도 좌표 간에 변환하는 데 사용할 수 있는 GMSProjection 개체를 반환합니다. | |
부울 | myLocationEnabled |
내 위치 점과 정확도 원을 사용 설정할지 여부를 제어합니다. | |
CLLocation * | myLocation |
내 위치가 사용 설정된 경우 기기 위치 점이 그려진 위치가 표시됩니다. | |
GMSMarker * | selectedMarker |
선택한 마커입니다. | |
부울 | trafficEnabled |
사용 가능한 경우 지도에서 교통량 데이터를 그릴지 여부를 제어합니다. | |
GMSMapViewType | mapType |
표시해야 하는 지도 타일의 유형을 제어합니다. | |
GMSMapStyle * | mapStyle |
지도의 스타일을 설정합니다. | |
float | minZoom |
최소 확대/축소 (카메라가 가장 먼 범위까지 축소될 수 있음) | |
float | maxZoom |
최대 확대/축소 (지구에 가장 가까운 카메라). | |
부울 | buildingsEnabled |
설정할 경우 가능한 경우 3D 빌딩이 표시됩니다. | |
부울 | indoorEnabled |
가능한 경우 실내 지도를 표시할지 여부를 설정합니다. | |
GMSIndoorDisplay * | indoorDisplay |
실내 데이터 디스플레이를 관찰하거나 제어할 수 있게 해주는 GMSIndoorDisplay 인스턴스를 가져옵니다. | |
GMSUISettings * | 설정 |
지도의 사용자 인터페이스 설정을 제어하는 GMSUISettings 객체를 가져옵니다. | |
UIEdgeInsets | 패딩 |
뷰의 '표시' 영역을 제어합니다. | |
GMSMapViewPaddingAdjustmentBehavior | paddingAdjustmentBehavior |
안전 영역 인셋이 패딩 값에 추가되는 방식을 제어합니다. | |
부울 | accessibilityElementsHidden |
기본값은 YES입니다. | |
GMSMapLayer * | layer |
레이어에 사용되는 맞춤 CALayer 유형에 대한 접근자입니다. | |
GMSFrameRate | preferredFrameRate |
렌더링 프레임 속도를 제어합니다. | |
GMSCoordinateBounds * | cameraTargetBounds |
nil이 아니면 지정된 경계를 벗어날 수 없도록 카메라 타겟을 제한합니다. | |
GMSMapCapabilityFlags | mapCapabilities |
현재 사용 가능한 모든 기능 (mapID 또는 기타 지도 설정에 따라 다름)은 조건부로 사용 가능합니다. | |
관련 함수 | |
이는 멤버 함수가 아닙니다. | |
NSString *const | kGMSAccessibilityCompass |
나침반 버튼의 접근성 식별자입니다. | |
NSString *const | kGMSAccessibilityMyLocation |
'내 위치' 버튼의 접근성 식별자입니다. | |
NSString *const | kGMSAccessibilityOutOfQuota |
'할당량 초과' 오류 라벨의 접근성 식별자입니다. |
멤버 함수 문서
- (instancetype) init |
CGRectZero 및 기본 옵션을 사용하여 초기화합니다.
- (instancetype) initWithOptions: | (null이 아닌 GMSMapViewOptions *) | options |
지정된 옵션으로 새 지도뷰를 만듭니다.
옵션 객체의 값은 이 메서드에 의해 복사됩니다.
- (instancetype) initWithFrame: | (CGRect) | 프레임 |
- (instancetype) initWithCoder: | (NSCoder *) | 코더 |
+ (instancetype) mapWithFrame: | (CGRect) | 프레임 | |
카메라: | (GMSCameraPosition *) | 카메라 | |
프레임과 카메라 타겟이 있는 지도뷰를 빌드하고 반환합니다.
+ (instancetype) mapWithFrame: | (CGRect) | 프레임 | |
지도 ID: | (GMSMapID *) | mapID | |
카메라: | (GMSCameraPosition *) | 카메라 | |
프레임, 지도 ID, 카메라 타겟이 있는 지도뷰를 빌드하고 반환하는 편리한 이니셜라이저입니다.
- (instancetype) initWithFrame: | (CGRect) | 프레임 | |
카메라: | (GMSCameraPosition *) | 카메라 | |
프레임과 카메라 타겟이 있는 지도뷰를 빌드하고 반환합니다.
- 참고:
- 이 기능은 지원 중단되었습니다. 대신 -init 또는 -initWithOptions: 를 사용하세요.
- (instancetype) initWithFrame: | (CGRect) | 프레임 | |
지도 ID: | (GMSMapID *) | mapID | |
카메라: | (GMSCameraPosition *) | 카메라 | |
프레임, 지도 ID, 카메라 타겟이 있는 지도뷰를 빌드하고 반환합니다.
- 참고:
- 이 기능은 지원 중단되었습니다. 대신 -init 또는 -initWithOptions: 를 사용하세요.
- (void) startRendering |
이 지도에 렌더기의 전원을 켜도록 지시합니다.
이는 선택사항이며 멱등성이 있습니다.
- 참고:
- 이 기능은 지원 중단되었습니다. 이 메서드는 더 이상 사용되지 않으며 향후 출시에서 삭제될 예정입니다.
- (void) stopRendering |
이 지도에 렌더기의 전원을 끄도록 지시합니다.
이는 선택사항이며 멱등성이 있습니다.
- 참고:
- 이 기능은 지원 중단되었습니다. 이 메서드는 더 이상 사용되지 않으며 향후 출시에서 삭제될 예정입니다.
- (무효) 명확함 |
마커, 폴리라인, 지면 오버레이를 비롯하여 지도에 추가된 모든 마크업을 지웁니다.
이렇게 해도 표시된 위치 점이 지워지거나 현재 mapType이 재설정되지 않습니다.
- (void) setMinZoom: | (float) | minZoom | |
maxZoom: | (float) | maxZoom | |
minZoom
와 maxZoom
를 설정합니다.
이 메서드는 최솟값이 최댓값보다 작거나 같을 것으로 예상하며, 그렇지 않으면 이름이 NSRangeException인 예외를 발생시킵니다.
- (nullable GMSCameraPosition *) cameraForBounds: | (GMSCoordinateBounds *) | 경계 | |
인셋: | (UIEdgeInsets) | 인셋 | |
padding
로 bounds
를 표시하는 GMSCameraPosition을 빌드합니다.
카메라의 방위와 기울기가 0입니다. 즉, 북쪽을 향하고 지구를 똑바로 바라봅니다. 이때 이 GMSMapView의 프레임과 패딩을 고려합니다.
경계가 유효하지 않으면 이 메서드는 nil 카메라를 반환합니다.
- (무효) moveCamera: | (GMSCameraUpdate *) | 업데이트 |
update
에 따라 카메라를 변경합니다.
카메라는 애니메이션 없이 즉시 변경됩니다.
- (BOOL) areEqualForRenderingPosition: | (GMSCameraPosition *) | position | |
게재순위: | (GMSCameraPosition *) | otherPosition | |
내부적으로 사용되는 정밀도 수준과 변환을 고려하여 지정된 카메라 위치로 인해 카메라가 실제로 동일하게 렌더링되는지 확인합니다.
- (GMSFeatureLayer<GMSPlaceFeature *> *) featureLayerOfFeatureType: | (GMSFeatureType) | featureType |
지정된 유형의 지형지물 레이어를 반환합니다.
지형지물 레이어는 Cloud Console에서 구성해야 합니다.
지정된 유형의 레이어가 이 지도에 없거나 데이터 기반 스타일 지정이 사용 설정되지 않은 경우 또는 메탈 렌더링 프레임워크를 사용하지 않는 경우 결과 레이어의 isAvailable이 NO
가 되고 호출에 응답하지 않습니다.
Metal 렌더기가 필요합니다. https://developers.google.com/maps/documentation/ios-sdk/config#use-metal에서 메탈을 사용 설정하는 방법을 알아보세요.
- (void) animateToCameraPosition: | (GMSCameraPosition *) | cameraPosition |
이 지도의 카메라를 cameraPosition
에 애니메이션 처리합니다.
- (void) animateToLocation: | (CLLocationCoordinate2D) | location |
animateToCameraPosition:으로 설정하지만 카메라의 위치만 변경합니다 (현재 위치에서 location
로 변경).
- (void) animateToZoom: | (float) | 확대/축소 |
animateToCameraPosition:으로 설정하고 카메라의 확대/축소 수준만 변경합니다.
이 값은 [kGMSMinZoomLevel, kGMSMaxZoomLevel]로 고정됩니다.
- (void) animateToBearing: | (CLLocationDirection) | bearing |
animateToCameraPosition:으로 설정하지만 카메라의 방위 (단위: 도)만 변경합니다.
0은 진북을 나타냅니다.
- (void) animateToViewingAngle: | (배정) | viewingAngle |
animateToCameraPosition:으로 설정하지만 카메라의 시야각 (단위: 도)만 변경합니다.
이 값은 지면에 대한 상대적인 근접도에 따라 수평으로 최소 0 (즉, 똑바로 아래를 향함) 및 30도에서 45도 사이로 고정됩니다.
- (void) animateWithCameraUpdate: | (GMSCameraUpdate *) | cameraUpdate |
현재 카메라에 cameraUpdate
를 적용한 다음 animateToCameraPosition:에 따라 결과를 사용합니다.
친구 및 관련 함수 문서
- (NSString* const) kGMSAccessibilityCompass [related] |
나침반 버튼의 접근성 식별자입니다.
- (NSString* const) kGMSAccessibilityMyLocation [related] |
'내 위치' 버튼의 접근성 식별자입니다.
- (NSString* const) kGMSAccessibilityOutOfQuota [related] |
'할당량 초과' 오류 라벨의 접근성 식별자입니다.
속성 문서
- (IBOutlet id<GMSMapViewDelegate>) 위임 [read, write, assign] |
GMSMapView 위임.
- (GMSCameraPosition*) 카메라 [read, write, copy] |
지도의 방향을 정의하는 카메라를 제어합니다.
이 속성은 즉시 수정됩니다.
- (GMSProjection*) 프로젝션 [read, assign] |
화면 좌표와 위도/경도 좌표 간에 변환하는 데 사용할 수 있는 GMSProjection 개체를 반환합니다.
현재 투영의 스냅샷이며 카메라가 이동할 때 자동으로 업데이트되지 않습니다. 마지막으로 그려진 GMSMapView 프레임의 투영을 나타내거나 카메라가 명시적으로 설정되었거나 지도가 방금 만든 경우 다음 프레임을 나타냅니다. 절대 nil이 될 수 없습니다.
- (BOOL) myLocationEnabled [read, write, assign] |
내 위치 점과 정확도 원을 사용 설정할지 여부를 제어합니다.
기본값은 NO입니다.
- (CLLocation*) myLocation [read, assign] |
내 위치가 사용 설정된 경우 기기 위치 점이 그려진 위치가 표시됩니다.
사용 중지하거나 사용 설정했지만 위치 데이터를 사용할 수 없는 경우 nil이 됩니다. 이 속성은 KVO를 사용하여 관찰할 수 있습니다.
- (GMSMarker*) selectedMarker [read, write, assign] |
선택한 마커입니다.
이 속성을 설정하면 특정 마커가 선택되고 마커에 정보 창이 표시됩니다. 이 속성이 nil이 아닌 경우 nil로 설정하면 마커가 선택 해제되어 정보 창이 숨겨집니다. 이 속성은 KVO를 사용하여 관찰할 수 있습니다.
- (BOOL) trafficEnabled [read, write, assign] |
사용 가능한 경우 지도에서 교통량 데이터를 그릴지 여부를 제어합니다.
제공되는 상황은 교통정보에 따라 달라집니다. 기본값은 NO입니다.
- (GMSMapViewType) mapType [read, write, assign] |
표시해야 하는 지도 타일의 유형을 제어합니다.
기본값은 kGMSTypeNormal입니다.
- (GMSMapStyle*) mapStyle [read, write, assign] |
지도의 스타일을 설정합니다.
nil이 아닌 mapStyle은 mapType이 Normal인 경우에만 적용됩니다.
- (부동 소수점 수) minZoom [read, assign] |
최소 확대/축소 (카메라가 가장 먼 범위까지 축소될 수 있음)
기본값은 kGMSMinZoomLevel입니다. -setMinZoom:maxZoom:으로 수정되었습니다.
- (부동 소수점 수) maxZoom [read, assign] |
최대 확대/축소 (지구에 가장 가까운 카메라).
기본값은 kGMSMaxZoomLevel입니다. -setMinZoom:maxZoom:으로 수정되었습니다.
- (BOOL) buildingsEnabled [read, write, assign] |
설정할 경우 가능한 경우 3D 빌딩이 표시됩니다.
기본값은 YES입니다.
높은 확대/축소 수준에서 명확하게 표시하기 위해 지도에 맞춤 타일 레이어를 추가할 때 유용할 수 있습니다. 이 값을 변경하면 모든 타일이 잠시 무효화됩니다.
- (BOOL) indoorEnabled [read, write, assign] |
가능한 경우 실내 지도를 표시할지 여부를 설정합니다.
기본값은 YES입니다.
'아니요'로 설정하면 실내 데이터 캐시가 삭제되고 최종 사용자가 현재 선택한 층이 재설정됩니다.
- (GMSIndoorDisplay*) indoorDisplay [read, assign] |
실내 데이터 디스플레이를 관찰하거나 제어할 수 있게 해주는 GMSIndoorDisplay 인스턴스를 가져옵니다.
- (GMSUISettings*) 설정 [read, assign] |
지도의 사용자 인터페이스 설정을 제어하는 GMSUISettings 객체를 가져옵니다.
- (UIEdgeInsets) 패딩 [read, write, assign] |
뷰의 '표시' 영역을 제어합니다.
패딩을 적용하면 뷰 가장자리 주위에 지도 데이터가 포함되지만 UI 컨트롤은 포함되지 않는 영역을 만들 수 있습니다.
패딩이 균형이 맞지 않으면 뷰의 시각적 중심이 적절하게 이동합니다. 패딩은 projection
속성에도 영향을 주므로 표시되는 영역에 패딩 영역이 포함되지 않습니다. GMSCameraUpdate fitToBounds가 이 패딩과 요청된 패딩을 모두 고려하게 합니다.
이 속성은 UIView 기반 애니메이션 블록 내에서 애니메이션을 적용할 수 있습니다.
- (GMSMapViewPaddingAdjustmentBehavior) paddingAdjustmentBehavior [read, write, assign] |
안전 영역 인셋이 패딩 값에 추가되는 방식을 제어합니다.
패딩과 마찬가지로 나침반, 내 위치 버튼, 층 선택 도구와 같은 안전 영역 삽입은 기기 안전 영역 내에 위치 지도 컨트롤을 설정합니다.
기본값은 kGMSMapViewPaddingAdjustmentBehaviorAlways입니다.
- (BOOL) accessibilityElementsHidden [read, write, assign] |
기본값은 YES입니다.
NO로 설정하면 GMSMapView가 GMSMarker 및 GMSPolyline과 같은 오버레이 객체의 접근성 요소를 생성합니다.
이 속성은 기본값 YES를 제외하고 비공식 UIAccessibility 프로토콜을 따릅니다.
- (GMSMapLayer*) 레이어 [read, retain] |
레이어에 사용되는 맞춤 CALayer 유형에 대한 접근자입니다.
- (GMSFrameRate) preferredFrameRate [read, write, assign] |
렌더링 프레임 속도를 제어합니다.
기본값은 kGMSFrameRateAverage입니다.
- (GMSCoordinateBounds*) cameraTargetBounds [read, write, assign] |
nil이 아니면 지정된 경계를 벗어날 수 없도록 카메라 타겟을 제한합니다.
- (GMSMapCapabilityFlags) mapCapabilities [read, assign] |
현재 사용 가능한 모든 기능 (mapID 또는 기타 지도 설정에 따라 다름)은 조건부로 사용 가능합니다.
항상 사용 가능한 기능은 포함되지 않습니다.