GMSMapView 클래스 참조


개요

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:
 minZoommaxZoom를 설정합니다.
(nullable GMSCameraPosition *) - cameraForBounds:insets:를 방문하시기 바랍니다.
 paddingbounds를 표시하는 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카메라
 지도의 방향을 정의하는 카메라를 제어합니다.
GMSProjectionprojection
 화면 좌표와 위도/경도 좌표 간에 변환하는 데 사용할 수 있는 GMSProjection 개체를 반환합니다.
부울myLocationEnabled
 내 위치 점과 정확도 원을 사용 설정할지 여부를 제어합니다.
CLLocation * myLocation
 내 위치가 사용 설정된 경우 기기 위치 점이 그려진 위치가 표시됩니다.
GMSMarkerselectedMarker
 선택한 마커입니다.
부울trafficEnabled
 사용 가능한 경우 지도에서 교통량 데이터를 그릴지 여부를 제어합니다.
GMSMapViewTypemapType
 표시해야 하는 지도 타일의 유형을 제어합니다.
GMSMapStylemapStyle
 지도의 스타일을 설정합니다.
float minZoom
 최소 확대/축소 (카메라가 가장 먼 범위까지 축소될 수 있음)
float maxZoom
 최대 확대/축소 (지구에 가장 가까운 카메라).
부울buildingsEnabled
 설정할 경우 가능한 경우 3D 빌딩이 표시됩니다.
부울indoorEnabled
 가능한 경우 실내 지도를 표시할지 여부를 설정합니다.
GMSIndoorDisplayindoorDisplay
 실내 데이터 디스플레이를 관찰하거나 제어할 수 있게 해주는 GMSIndoorDisplay 인스턴스를 가져옵니다.
GMSUISettings설정
 지도의 사용자 인터페이스 설정을 제어하는 GMSUISettings 객체를 가져옵니다.
UIEdgeInsets패딩
 뷰의 '표시' 영역을 제어합니다.
GMSMapViewPaddingAdjustmentBehaviorpaddingAdjustmentBehavior
 안전 영역 인셋이 패딩 값에 추가되는 방식을 제어합니다.
부울accessibilityElementsHidden
 기본값은 YES입니다.
GMSMapLayerlayer
 레이어에 사용되는 맞춤 CALayer 유형에 대한 접근자입니다.
GMSFrameRatepreferredFrameRate
 렌더링 프레임 속도를 제어합니다.
GMSCoordinateBoundscameraTargetBounds
 nil이 아니면 지정된 경계를 벗어날 수 없도록 카메라 타겟을 제한합니다.
GMSMapCapabilityFlagsmapCapabilities
 현재 사용 가능한 모든 기능 (mapID 또는 기타 지도 설정에 따라 다름)은 조건부로 사용 가능합니다.

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

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

멤버 함수 문서

- (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

minZoommaxZoom를 설정합니다.

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

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

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

카메라의 방위와 기울기가 0입니다. 즉, 북쪽을 향하고 지구를 똑바로 바라봅니다. 이때 이 GMSMapView의 프레임과 패딩을 고려합니다.

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

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

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

카메라는 애니메이션 없이 즉시 변경됩니다.

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

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

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

지형지물 레이어는 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 기반 애니메이션 블록 내에서 애니메이션을 적용할 수 있습니다.

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

패딩과 마찬가지로 나침반, 내 위치 버튼, 층 선택 도구와 같은 안전 영역 삽입은 기기 안전 영역 내에 위치 지도 컨트롤을 설정합니다.

기본값은 kGMSMapViewPaddingAdjustmentBehaviorAlways입니다.

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

기본값은 YES입니다.

NO로 설정하면 GMSMapViewGMSMarkerGMSPolyline과 같은 오버레이 객체의 접근성 요소를 생성합니다.

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

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

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

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

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

기본값은 kGMSFrameRateAverage입니다.

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

nil이 아니면 지정된 경계를 벗어날 수 없도록 카메라 타겟을 제한합니다.

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

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