GMSMapView 클래스 참조


개요

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

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

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

공개 멤버 함수

(인스턴스 유형)- init
 CGRectZero 및 기본 옵션을 사용하여 초기화됩니다.
(인스턴스 유형)- initWithOptions:
 지정된 옵션으로 새 지도뷰를 만듭니다.
(인스턴스 유형)- initWithFrame:
(인스턴스 유형)- 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:
 지정된 유형의 지형지물 레이어를 반환합니다.
(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
 지도의 스타일을 제어합니다.
float minZoom
 최소 확대/축소 (카메라가 축소될 수 있는 최대 범위)
float maxZoom
 최대 확대/축소 (지구에 가장 가까운 카메라)
부울buildingsEnabled
 설정할 경우 가능한 경우 3D 빌딩이 표시됩니다.
부울indoorEnabled
 실내 지도의 표시 여부를 설정합니다(사용 가능한 경우).
GMSIndoorDisplayindoorDisplay
 실내 데이터 디스플레이를 관찰하거나 제어할 수 있는 GMSIndoorDisplay 인스턴스를 가져옵니다.
GMSUISettings설정
 지도의 사용자 인터페이스 설정을 제어하는 GMSUISettings 객체를 가져옵니다.
UIEdgeInsets패딩
 뷰의 '표시' 영역을 제어합니다.
GMSMapViewPaddingAdjustmentBehaviorpaddingAdjustmentBehavior
 안전 영역 인셋이 패딩 값에 추가되는 방식을 제어합니다.
부울accessibilityElementsHidden
 기본값은 YES입니다.
GMSMapLayer레이어
 레이어에 사용되는 맞춤 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

이 지도에 렌더기의 전원을 끄도록 지시합니다.

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

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

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

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

- (void) setMinZoom: (float)  minZoom
maxZoom: (float)  maxZoom(최대 확대/축소)

minZoommaxZoom를 설정합니다.

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

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

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

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

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

- (void) moveCamera: (GMSCameraUpdate *) 업데이트

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

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

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

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

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

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

지정된 유형의 레이어가 이 지도에 없거나 데이터 기반 스타일 지정이 사용 설정되지 않은 경우 또는 메탈 렌더링 프레임워크를 사용하지 않는 경우 결과 레이어의 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: (2배) 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*) projection [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입니다.

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

- (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과 같은 오버레이 객체의 접근성 요소를 생성합니다.

이 속성은 비공식 UIAccessibility 프로토콜을 따릅니다. 단, 기본값은 YES입니다.

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

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

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

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

기본값은 kGMSFrameRateMinimum입니다.

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

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

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

항상 사용할 수 있는 기능이 포함되지 않습니다.