GMSMapView 클래스 참조


개요

iOS용 Google 지도 SDK의 기본 클래스이며 지도와 관련된 모든 메서드의 진입점입니다.

지도는 -init 또는 -initWithOptions: 생성자 중 하나로 인스턴스화되어야 합니다.

모든 UIKit 객체와 마찬가지로 GMSMapView는 기본 스레드에서만 읽고 수정할 수 있습니다. 다른 스레드에서 이러한 메서드를 호출하면 예외나 정의되지 않은 동작이 발생합니다.

공개 멤버 함수

(인스턴스 유형)- init
 CGRectZero 및 기본 옵션을 사용하여 초기화합니다.
(인스턴스 유형)- initWithOptions:
 특정 옵션으로 새 지도뷰를 만듭니다.
(인스턴스 유형)- initWithFrame:
(null을 허용하는 인스턴스 유형)initWithCoder:
(인스턴스 유형)- initWithFrame:camera:
 프레임 및 카메라 타겟이 있는 지도뷰를 빌드하고 반환합니다.
(인스턴스 유형)- initWithFrame:mapID:camera:
 프레임, 지도 ID, 카메라 타겟이 있는 지도뷰를 빌드하고 반환합니다.
(void) - startRendering
 지도에 렌더기를 강화하도록 지시합니다.
(void) - stopRendering
 지도에 렌더기를 종료하도록 지시합니다.
(void) - 지우기
 마커, 다중선, 지면 오버레이를 포함하여 지도에 추가된 모든 마크업을 지웁니다.
(void) - setMinZoom:maxZoom:
 minZoommaxZoom를 설정합니다.
(nullable GMSCameraPosition *) - cameraForBounds:insets:
 paddingbounds를 표시하는 GMSCameraPosition을 빌드합니다.
(void) - moveCamera:
 update에 따라 카메라를 변경합니다.
(BOOL) - areEqualForRenderingPosition:position:
 내부적으로 사용된 정밀도와 변환을 고려하여 지정된 카메라 위치로 인해 카메라가 실제로 동일하게 렌더링되는지 확인합니다.
(GMSFeatureLayer
< GMSPlaceFeature * > *)
- featureLayerOfFeatureType:
 지정된 유형의 지형지물 레이어를 반환합니다.
(GMSDatasetFeatureLayer *)- datasetFeatureLayerOfDatasetID:
 지정된 데이터 세트의 데이터 세트 지형지물 레이어를 반환합니다.
(void) - animateToCameraPosition:
 이 지도의 카메라에 cameraPosition에 애니메이션을 적용합니다.
(void) - animateToLocation:
 animateToCameraPosition:과 동일하나 카메라의 위치만 변경합니다 (즉, 현재 위치에서 location로).
(void) - animateToZoom:
 animateToCameraPosition:과 동일하나 카메라의 확대/축소 수준만 변경합니다.
(void) - animateToBearing:
 animateToCameraPosition:과 동일하나 카메라의 방위 (단위: 도)만 변경합니다.
(void) - animateToViewingAngle:
 animateToCameraPosition:과 동일하지만 카메라의 시야각 (단위: 도)만 변경합니다.
(void) - animateWithCameraUpdate:
 현재 카메라에 cameraUpdate를 적용한 다음 animateToCameraPosition:에 따라 결과를 사용합니다.

정적 공개 멤버 함수

(인스턴스 유형)+ mapWithFrame:camera:
 프레임과 카메라 타겟이 있는 지도뷰를 빌드하고 반환합니다.
(인스턴스 유형)+ mapWithFrame:mapID:camera:
 프레임, 지도 ID, 카메라 타겟이 있는 지도뷰를 빌드하고 반환하는 편의 이니셜라이저입니다.

속성

IBOutlet ID< GMSMapViewDelegate >위임
 GMSMapView 위임.
GMSCameraPosition카메라
 지도의 방향을 정의하는 카메라를 제어합니다.
GMSProjectionprojection
 화면 좌표와 위도/경도 좌표 간에 변환하는 데 사용할 수 있는 GMSProjection 객체를 반환합니다.
부울myLocationEnabled
 내 위치 도트 및 정확도 원 사용 여부를 제어합니다.
CLLocation * myLocation
 내 위치가 사용 설정된 경우 기기 위치 점이 그려진 위치를 표시합니다.
GMSMarkerselectedMarker
 선택된 마커입니다.
부울trafficEnabled
 지도에서 교통정보 데이터를 그릴지 여부를 제어합니다(사용 가능한 경우).
GMSMapViewTypemapType
 표시할 지도 타일의 유형을 제어합니다.
GMSMapStylemapStyle
 지도의 스타일을 제어합니다.
UIUserInterfaceStyleoverrideUserInterfaceStyle
 지도를 원하는 UIUserInterfaceStyle로 변경합니다.
float minZoom
 최소 확대/축소 (카메라가 축소될 수 있는 가장 먼 범위)
float maxZoom
 최대 확대/축소 (카메라가 지구에 가장 가까울 수 있음)
부울buildingsEnabled
 설정하면 가능한 경우 3D 빌딩이 표시됩니다.
부울indoorEnabled
 실내 지도의 표시 여부를 설정합니다(가능한 경우).
GMSIndoorDisplayindoorDisplay
 실내 데이터 표시의 측면을 관찰하거나 제어할 수 있는 GMSIndoorDisplay 인스턴스를 가져옵니다.
GMSUISettings설정
 지도의 사용자 인터페이스 설정을 제어하는 GMSUISettings 객체를 가져옵니다.
UIEdgeInsets패딩
 뷰의 '표시' 영역을 제어합니다.
GMSMapViewPaddingAdjustmentBehaviorpaddingAdjustmentBehavior
 안전 영역 인셋이 패딩 값에 추가되는 방식을 제어합니다.
부울accessibilityElementsHidden
 기본값은 '예'입니다.
GMSMapLayer레이어
 레이어에 사용되는 맞춤 CALayer 유형의 접근자입니다.
GMSFrameRatepreferredFrameRate
 렌더링 프레임 속도를 제어합니다.
GMSCoordinateBoundscameraTargetBounds
 nil이 아니면 동작으로 인해 지정된 경계를 벗어나지 않도록 카메라 타겟을 제한합니다.
GMSMapCapabilityFlagsmapCapabilities
 현재 사용 가능한 모든 조건부 사용 가능 (지도 ID 또는 기타 지도 설정에 따라 다름) 기능입니다.

(이는 멤버 함수가 아닙니다.)

NSString *constkGMSAccessibilityCompass
 나침반 버튼의 접근성 식별자입니다.
NSString *constkGMSAccessibilityMyLocation
 '내 위치' 버튼의 접근성 식별자입니다.
NSString *constkGMSAccessibilityOutOfQuota
 '할당량 초과' 오류 라벨의 접근성 식별자입니다.

구성원 기능 문서

- (인스턴스 유형) init

CGRectZero 및 기본 옵션을 사용하여 초기화합니다.

- (인스턴스 유형) initWithOptions: (null이 아닌 GMSMapViewOptions *) options

특정 옵션으로 새 지도뷰를 만듭니다.

옵션 객체의 값은 이 메서드에 의해 복사됩니다.

- (인스턴스 유형) initWithFrame: (CGRect) 프레임
- (null을 허용하는 인스턴스 유형) initWithCoder: (NSCoder *) 코더
+ (instancetype) mapWithFrame: (CGRect) 프레임
카메라: (GMSCameraPosition *) 카메라

프레임과 카메라 타겟이 있는 지도뷰를 빌드하고 반환합니다.

+ (instancetype) mapWithFrame: (CGRect) 프레임
지도 ID: (GMSMapID *) mapID
카메라: (GMSCameraPosition *) 카메라

프레임, 지도 ID, 카메라 타겟이 있는 지도뷰를 빌드하고 반환하는 편의 이니셜라이저입니다.

- (인스턴스 유형) initWithFrame: (CGRect) 프레임
카메라: (GMSCameraPosition *) 카메라

프레임 및 카메라 타겟이 있는 지도뷰를 빌드하고 반환합니다.

참고:
이 기능은 지원 중단되었습니다. 대신 -init 또는 -initWithOptions: 를 사용하세요.
- (인스턴스 유형) initWithFrame: (CGRect) 프레임
지도 ID: (GMSMapID *) mapID
카메라: (GMSCameraPosition *) 카메라

프레임, 지도 ID, 카메라 타겟이 있는 지도뷰를 빌드하고 반환합니다.

참고:
이 기능은 지원 중단되었습니다. 대신 -init 또는 -initWithOptions: 를 사용하세요.
- (void) startRendering

지도에 렌더기를 강화하도록 지시합니다.

선택사항이며 멱등성이 있습니다.

참고:
이 기능은 지원 중단되었습니다. 이 메서드는 더 이상 사용되지 않으며 향후 버전에서 삭제될 예정입니다.
- (void) stopRendering

지도에 렌더기를 종료하도록 지시합니다.

선택사항이며 멱등성이 있습니다.

참고:
이 기능은 지원 중단되었습니다. 이 메서드는 더 이상 사용되지 않으며 향후 버전에서 삭제될 예정입니다.
- (무효) 지우기

마커, 다중선, 지면 오버레이를 포함하여 지도에 추가된 모든 마크업을 지웁니다.

표시된 위치 점이 지워지거나 현재 mapType이 재설정되지는 않습니다.

- (void) setMinZoom: (float)  minZoom
maxZoom: (float)  maxZoom

minZoommaxZoom를 설정합니다.

이 메서드는 최소값이 최대값보다 작거나 같을 것으로 예상하며, 그렇지 않으면 이름이 NSRangeException인 예외를 발생시킵니다.

- (nullable GMSCameraPosition *) cameraForBounds: (GMSCoordinateBounds *) 경계
삽입: (UIEdgeInsets) 인셋

paddingbounds를 표시하는 GMSCameraPosition을 빌드합니다.

카메라는 방위와 기울기가 0입니다 (즉, 북쪽을 향하여 지구를 바라보게 됨). 여기에서는 이 GMSMapView의 프레임과 패딩을 고려합니다.

경계가 유효하지 않은 경우 이 메서드는 nil 카메라를 반환합니다.

- (무효) moveCamera: (GMSCameraUpdate *) 업데이트

update에 따라 카메라를 변경합니다.

카메라가 즉시 변경됩니다 (애니메이션 없음).

- (BOOL) areEqualForRenderingPosition: (GMSCameraPosition *) position
게재순위: (GMSCameraPosition *) otherPosition

내부적으로 사용된 정밀도와 변환을 고려하여 지정된 카메라 위치로 인해 카메라가 실제로 동일하게 렌더링되는지 확인합니다.

지정된 유형의 지형지물 레이어를 반환합니다.

지형지물 레이어는 Cloud 콘솔에서 구성해야 합니다.

지정된 유형의 레이어가 이 지도에 없거나 데이터 기반 스타일 지정이 사용 설정되지 않은 경우 또는 메탈 렌더링 프레임워크가 사용되지 않는 경우 결과 레이어의 isAvailable은 NO가 되고 호출에 응답하지 않습니다.

메탈 렌더기가 필요합니다. https://developers.google.com/maps/documentation/ios-sdk/config#use-metal에서 Metal 사용 설정 방법을 알아보세요.

지정된 데이터 세트의 데이터 세트 지형지물 레이어를 반환합니다.

데이터 세트 ID는 Cloud 콘솔에서 구성해야 합니다.

지정된 ID의 데이터 세트가 이 지도에 없거나 데이터 기반 스타일 지정이 사용 설정되지 않은 경우 결과 레이어의 isAvailableNO이 되고 호출에 응답하지 않습니다.

- (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*) camera [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인 경우에만 적용됩니다.

- (UIUserInterfaceStyle) overrideUserInterfaceStyle [read, write, assign]

지도를 원하는 UIUserInterfaceStyle로 변경합니다.

이렇게 하면 기본 UIKit 동작이 재정의되고, 이전 버전과의 호환성을 보장하기 위해 기본값은 UIUserInterfaceStyleLight가 됩니다. 이는 일반 및 지형 지도 유형의 색 구성표에 영향을 미칩니다.

- (부동 소수점 수) minZoom [read, assign]

최소 확대/축소 (카메라가 축소될 수 있는 가장 먼 범위)

기본값은 kGMSMinZoomLevel입니다. -setMinZoom:maxZoom:으로 수정됩니다.

- (부동 소수점 수) maxZoom [read, assign]

최대 확대/축소 (카메라가 지구에 가장 가까울 수 있음)

기본값은 kGMSMaxZoomLevel입니다. -setMinZoom:maxZoom:으로 수정됩니다.

- (BOOL) buildingsEnabled [read, write, assign]

설정하면 가능한 경우 3D 빌딩이 표시됩니다.

기본값은 '예'입니다.

이는 지도에 맞춤 타일 레이어를 추가할 때 높은 확대/축소 수준에서 더 명확하게 표시하기 위해 유용할 수 있습니다. 이 값을 변경하면 모든 타일이 잠시 무효화됩니다.

- (BOOL) indoorEnabled [read, write, assign]

실내 지도의 표시 여부를 설정합니다(가능한 경우).

기본값은 '예'입니다.

NO로 설정하면 실내 데이터 캐시가 삭제될 수 있으며 최종 사용자가 현재 선택한 층이 재설정될 수 있습니다.

- (GMSIndoorDisplay*) indoorDisplay [read, assign]

실내 데이터 표시의 측면을 관찰하거나 제어할 수 있는 GMSIndoorDisplay 인스턴스를 가져옵니다.

- (GMSUISettings*) settings [read, assign]

지도의 사용자 인터페이스 설정을 제어하는 GMSUISettings 객체를 가져옵니다.

- (UIEdgeInsets) 패딩 [read, write, assign]

뷰의 '표시' 영역을 제어합니다.

뷰의 가장자리 주변에 패딩을 적용하면 지도 데이터는 포함하지만 UI 컨트롤은 포함하지 않는 영역을 만들 수 있습니다.

패딩이 균형이 맞지 않으면 뷰의 시각적 중심이 적절하게 이동합니다. 패딩은 projection 속성에도 영향을 주므로 표시되는 영역에 패딩 영역이 포함되지 않습니다. GMSCameraUpdate fitToBounds를 사용하면 이 패딩과 요청된 패딩이 모두 고려됩니다.

이 속성은 UIView 기반 애니메이션 블록 내에서 애니메이션될 수 있습니다.

안전 영역 인셋이 패딩 값에 추가되는 방식을 제어합니다.

패딩과 마찬가지로 안전 영역 인셋은 나침반, My Location 버튼, 층 선택기와 같은 지도 컨트롤을 기기 안전 영역 내에 배치합니다.

기본값은 kGMSMapViewPaddingAdjustmentBehaviorAlways입니다.

- (BOOL) accessibilityElementsHidden [read, write, assign]

기본값은 '예'입니다.

NO로 설정하면 GMSMapView가 오버레이 객체의 접근성 요소(예: GMSMarkerGMSPolyline)를 생성합니다.

이 속성은 비공식 UIAccessibility 프로토콜을 따릅니다(기본값 YES 제외).

- (GMSMapLayer*) 레이어 [read, retain]

레이어에 사용되는 맞춤 CALayer 유형의 접근자입니다.

- (GMSFrameRate) preferredFrameRate [read, write, assign]

렌더링 프레임 속도를 제어합니다.

기본값은 kGMSFrameRate최대입니다.

- (GMSCoordinateBounds*) cameraTargetBounds [read, write, assign]

nil이 아니면 동작으로 인해 지정된 경계를 벗어나지 않도록 카메라 타겟을 제한합니다.

현재 사용 가능한 모든 조건부 사용 가능 (지도 ID 또는 기타 지도 설정에 따라 다름) 기능입니다.

항상 사용 가능한 기능은 포함되지 않습니다.