개요
iOS용 Google 지도 SDK의 기본 클래스이며 지도와 관련된 모든 메서드의 진입점입니다.
지도는 -init 또는 -initWithOptions: 생성자 중 하나로 인스턴스화되어야 합니다.
모든 UIKit 객체와 마찬가지로 GMSMapView는 기본 스레드에서만 읽고 수정할 수 있습니다. 다른 스레드에서 이러한 메서드를 호출하면 예외나 정의되지 않은 동작이 발생합니다.
를 탭합니다. 공개 멤버 함수 | |
(instancetype) | - init |
CGRectZero 및 기본 옵션을 사용하여 초기화합니다. | |
(instancetype) | - initWithOptions: |
특정 옵션으로 새 지도뷰를 만듭니다. | |
(instancetype) | - initWithFrame: |
(null을 허용하는 인스턴스 유형) | initWithCoder: |
(instancetype) | - initWithFrame:camera: |
프레임 및 카메라 타겟이 있는 지도뷰를 빌드하고 반환합니다. | |
(instancetype) | - initWithFrame:mapID:camera: |
프레임, 지도 ID, 카메라 타겟이 있는 지도뷰를 빌드하고 반환합니다. | |
(무효) | - startRendering |
지도에 렌더기를 강화하도록 지시합니다. | |
(무효) | - stopRendering |
지도에 렌더기를 종료하도록 지시합니다. | |
(무효) | - 지우기 |
마커, 다중선, 지면 오버레이를 포함하여 지도에 추가된 모든 마크업을 지웁니다. | |
(무효) | - setMinZoom:maxZoom: |
minZoom 와 maxZoom 를 설정합니다. | |
(null이 가능한 GMSCameraPosition *) | - cameraForBounds:insets: |
padding 로 bounds 를 표시하는 GMSCameraPosition을 빌드합니다. | |
(무효) | - moveCamera: |
update 에 따라 카메라를 변경합니다. | |
(BOOL) | - areEqualForRenderingPosition:position: |
내부적으로 사용된 정밀도와 변환을 고려하여 지정된 카메라 위치로 인해 카메라가 실제로 동일하게 렌더링되는지 확인합니다. | |
(GMSFeatureLayer < GMSPlaceFeature * > *). | - featureLayerOfFeatureType: |
지정된 유형의 지형지물 레이어를 반환합니다. | |
(GMSDatasetFeatureLayer *) | - datasetFeatureLayerOfDatasetID: |
지정된 데이터 세트의 데이터 세트 지형지물 레이어를 반환합니다. | |
(무효) | - animateToCameraPosition: |
이 지도의 카메라에 cameraPosition 에 애니메이션을 적용합니다. | |
(무효) | - animateToLocation: |
animateToCameraPosition:과 동일하나 카메라의 위치만 변경합니다 (즉, 현재 위치에서 location 로). | |
(무효) | - animateToZoom: |
animateToCameraPosition:과 동일하나 카메라의 확대/축소 수준만 변경합니다. | |
(무효) | - animateToBearing: |
animateToCameraPosition:과 동일하나 카메라의 방위 (단위: 도)만 변경합니다. | |
(무효) | - animateToViewingAngle: |
animateToCameraPosition:과 동일하지만 카메라의 시야각 (단위: 도)만 변경합니다. | |
(무효) | - 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 |
지도의 스타일을 제어합니다. | |
UIUserInterfaceStyle | overrideUserInterfaceStyle |
지도를 원하는 [UIUserInterfaceStyle](https://developer.apple.com/documentation/uikit/uiuserinterfacestyle?language=objc)으로 변경합니다. | |
부동 소수점 수 | minZoom |
최소 확대/축소 (카메라가 축소될 수 있는 가장 먼 범위) | |
부동 소수점 수 | maxZoom |
최대 확대/축소 (카메라가 지구에 가장 가까울 수 있음) | |
부울 | buildingsEnabled |
설정하면 가능한 경우 3D 빌딩이 표시됩니다. | |
부울 | indoorEnabled |
실내 지도의 표시 여부를 설정합니다(가능한 경우). | |
GMSIndoorDisplay * | indoorDisplay |
실내 데이터 표시의 측면을 관찰하거나 제어할 수 있는 GMSIndoorDisplay 인스턴스를 가져옵니다. | |
GMSUISettings * | 설정 |
지도의 사용자 인터페이스 설정을 제어하는 GMSUISettings 객체를 가져옵니다. | |
UIEdgeInsets | 패딩 |
'표시' 지정할 수 있습니다. | |
GMSMapViewPaddingAdjustmentBehavior | paddingAdjustmentBehavior |
안전 영역 인셋이 패딩 값에 추가되는 방식을 제어합니다. | |
부울 | accessibilityElementsHidden |
기본값은 '예'입니다. | |
GMSMapLayer * | 레이어 |
레이어에 사용되는 맞춤 CALayer 유형의 접근자입니다. | |
GMSFrameRate | preferredFrameRate |
렌더링 프레임 속도를 제어합니다. | |
GMSCoordinateBounds * | cameraTargetBounds |
nil이 아니면 동작으로 인해 지정된 경계를 벗어나지 않도록 카메라 타겟을 제한합니다. | |
GMSMapCapabilityFlags | mapCapabilities |
현재 사용 가능한 모든 조건부 사용 가능 (지도 ID 또는 기타 지도 설정에 따라 다름) 기능입니다. | |
를 탭합니다. 관련 함수 | |
(이는 멤버 함수가 아닙니다.) | |
NSString *const | kGMSAccessibilityCompass |
나침반 버튼의 접근성 식별자입니다. | |
NSString *const | kGMSAccessibilityMyLocation |
'내 위치'의 접근성 식별자 버튼을 클릭합니다. | |
NSString *const | kGMSAccessibilityOutOfQuota |
'할당량 초과'에 대한 접근성 식별자 오류 라벨이 표시됩니다. |
구성원 기능 문서
- (인스턴스 유형) init |
CGRectZero 및 기본 옵션을 사용하여 초기화합니다.
- (인스턴스 유형) initWithOptions: | (nonnull GMSMapViewOptions *) | options |
특정 옵션으로 새 지도뷰를 만듭니다.
옵션 객체의 값은 이 메서드에 의해 복사됩니다.
- (인스턴스 유형) initWithFrame: | (CGRect) | 프레임 |
- (null을 허용하는 인스턴스 유형) initWithCoder: | (NSCoder *) | 코더 |
+ (instancetype) mapWithFrame: | (CGRect) | 프레임 | |
카메라: | (GMSCameraPosition *) | 카메라 | |
프레임과 카메라 타겟이 있는 지도뷰를 빌드하고 반환합니다.
+ (instancetype) mapWithFrame: | (CGRect) | 프레임 | |
mapID: | (GMSMapID *) | mapID | |
카메라: | (GMSCameraPosition *) | 카메라 | |
프레임, 지도 ID, 카메라 타겟이 있는 지도뷰를 빌드하고 반환하는 편의 이니셜라이저입니다.
- (인스턴스 유형) initWithFrame: | (CGRect) | 프레임 | |
카메라: | (GMSCameraPosition *) | 카메라 | |
프레임 및 카메라 타겟이 있는 지도뷰를 빌드하고 반환합니다.
- 참고:
- 이 기능은 지원 중단되었습니다. 대신 -init 또는 -initWithOptions: 를 사용하세요.
- (인스턴스 유형) initWithFrame: | (CGRect) | 프레임 | |
mapID: | (GMSMapID *) | mapID | |
카메라: | (GMSCameraPosition *) | 카메라 | |
프레임, 지도 ID, 카메라 타겟이 있는 지도뷰를 빌드하고 반환합니다.
- 참고:
- 이 기능은 지원 중단되었습니다. 대신 -init 또는 -initWithOptions: 를 사용하세요.
- (void) startRendering |
지도에 렌더기를 강화하도록 지시합니다.
선택사항이며 멱등성이 있습니다.
- 참고:
- 이 기능은 지원 중단되었습니다. 이 메서드는 더 이상 사용되지 않으며 향후 버전에서 삭제될 예정입니다.
- (void) stopRendering |
지도에 렌더기를 종료하도록 지시합니다.
선택사항이며 멱등성이 있습니다.
- 참고:
- 이 기능은 지원 중단되었습니다. 이 메서드는 더 이상 사용되지 않으며 향후 버전에서 삭제될 예정입니다.
- (무효) 지우기 |
마커, 다중선, 지면 오버레이를 포함하여 지도에 추가된 모든 마크업을 지웁니다.
표시된 위치 점이 지워지거나 현재 mapType이 재설정되지는 않습니다.
- (void) setMinZoom: | (부동 소수점 수) | minZoom | |
maxZoom: | (부동 소수점 수) | maxZoom | |
minZoom
와 maxZoom
를 설정합니다.
이 메서드는 최소값이 최대값보다 작거나 같을 것으로 예상하며, 그렇지 않으면 이름이 NSRangeException인 예외를 발생시킵니다.
- (null을 허용하는 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 콘솔에서 구성해야 합니다.
지정된 유형의 레이어가 이 지도에 없거나 데이터 기반 스타일 지정이 사용 설정되지 않은 경우 또는 메탈 렌더링 프레임워크가 사용되지 않는 경우 결과 레이어의 `isAvailable` 이 NO
가 되고 호출에 응답하지 않습니다.
메탈 렌더기가 필요합니다. https://developers.google.com/maps/documentation/ios-sdk/config#use-metal에서 Metal 사용 설정 방법을 알아보세요.
- (GMSDatasetFeatureLayer *) datasetFeatureLayerOfDatasetID: | (NSString *) | datasetID |
지정된 데이터 세트의 데이터 세트 지형지물 레이어를 반환합니다.
데이터 세트 ID는 Cloud 콘솔에서 구성해야 합니다.
지정된 ID의 데이터 세트가 이 지도에 없거나 데이터 기반 스타일 지정이 사용 설정되지 않은 경우 결과 레이어의 `isAvailable` 은 NO
가 되고 호출에 응답하지 않습니다.
- (void) animateToCameraPosition: | (GMSCameraPosition *) | cameraPosition |
이 지도의 카메라에 cameraPosition
에 애니메이션을 적용합니다.
- (void) animateToLocation: | (CLLocationCoordinate2D) | location |
animateToCameraPosition:과 동일하나 카메라의 위치만 변경합니다 (즉, 현재 위치에서 location
로).
- (void) animateToZoom: | (부동 소수점 수) | 확대/축소 |
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*) 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](https://developer.apple.com/documentation/uikit/uiuserinterfacestyle?language=objc)으로 변경합니다.
이렇게 하면 기본 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 기반 애니메이션 블록 내에서 애니메이션될 수 있습니다.
- (GMSMapViewPaddingAdjustmentBehavior) paddingAdjustmentBehavior [read, write, assign] |
안전 영역 인셋이 패딩 값에 추가되는 방식을 제어합니다.
패딩과 마찬가지로 안전 영역 인셋은 나침반, My Location 버튼, 층 선택기와 같은 지도 컨트롤을 기기 안전 영역 내에 배치합니다.
기본값은 kGMSMapViewPaddingAdjustmentBehaviorAlways입니다.
- (BOOL) accessibilityElementsHidden [read, write, assign] |
기본값은 '예'입니다.
NO로 설정하면 GMSMapView가 오버레이 객체의 접근성 요소(예: GMSMarker 및 GMSPolyline)를 생성합니다.
이 속성은 비공식 UIAccessibility 프로토콜을 따릅니다(기본값 YES 제외).
- (GMSMapLayer*) 레이어 [read, retain] |
레이어에 사용되는 맞춤 CALayer 유형의 접근자입니다.
- (GMSFrameRate) preferredFrameRate [read, write, assign] |
렌더링 프레임 속도를 제어합니다.
기본값은 kGMSFrameRate최대입니다.
- (GMSCoordinateBounds*) cameraTargetBounds [read, write, assign] |
nil이 아니면 동작으로 인해 지정된 경계를 벗어나지 않도록 카메라 타겟을 제한합니다.
- (GMSMapCapabilityFlags) mapCapabilities [read, assign] |
현재 사용 가능한 모든 조건부 사용 가능 (지도 ID 또는 기타 지도 설정에 따라 다름) 기능입니다.
항상 사용 가능한 기능은 포함되지 않습니다.