GeocodeModel QML Type

지오코드 모델 유형은 지리 정보와 관련된 검색 작업을 지원합니다. 더 보기...

Import Statement: import QtLocation 6.8
Since: QtLocation 5.5

속성

신호

방법

상세 설명

지오코드모델 유형은 주소 또는 검색 문자열을 지리적 위치와 일치시키기 위한 모델/보기 그룹화의 일부로 사용됩니다. 생성된 지리적 위치가 사용되거나 표시되는 방식은 지오코드모델에 연결된 모든 보기(예: MapItemView 또는 ListView)에 의해 결정됩니다.

MapRouteModel 과 같이 지오코드모델이 작동하기 위한 모든 데이터는 서비스 플러그인에서 제공됩니다. 이는 plugin 속성에 포함되어 있으며, 지오코드모델이 유용한 작업을 수행하기 전에 이 속성을 설정해야 합니다.

플러그인이 설정되면 query 속성을 사용하여 일치시킬 주소 또는 검색 문자열을 지정할 수 있습니다. autoUpdate 을 활성화하면 모델이 자동으로 출력을 업데이트합니다. 그렇지 않으면 update 메서드를 사용할 수 있습니다. 기본적으로 autoUpdate 은 비활성화되어 있습니다.

지오코드모델에 저장되고 반환되는 데이터는 Location 객체로 구성되며, 역할 이름이 "locationData"인 목록으로 되어 있습니다. 구조와 내용에 대한 자세한 내용은 Location 문서를 참조하세요.

사용 예

다음 코드 조각은 두 부분으로 구성되어 있으며, 먼저 객체 선언과 이를 사용하는 짧은 프로시저 코드를 보여줍니다. geocodeModel의 autoUpdate 속성을 false로 설정하고 쿼리가 설정되면 update 을 호출합니다. 이 경우 query 에 문자열 값을 사용하므로 autoUpdate 이 활성화되어 있어도 업데이트가 한 번만 발생합니다. 그러나 Address 객체를 제공한 경우 프로퍼티를 설정하는 동안 실수로 여러 요청을 트리거할 수 있습니다.

Plugin {
    id: aPlugin
}

GeocodeModel {
    id: geocodeModel
    plugin: aPlugin
    autoUpdate: false
}
{
    geocodeModel.query = "53 Brandl St, Eight Mile Plains, Australia"
    geocodeModel.update()
}

속성 문서

autoUpdate : bool

이 속성은 연결된 쿼리의 변경에 대한 응답으로 모델을 자동으로 업데이트할지 여부를 제어합니다. 이 속성의 기본값은 false입니다.

이 값을 'true'로 설정하고 주소 또는 coordinate 를 쿼리로 사용하는 경우 객체의 속성이 조금이라도 변경되면 새 요청이 전송된다는 점에 유의하세요. 자동 업데이트가 활성화된 상태에서 개체의 많은 속성을 조정하는 경우 쓸모없는(나중에 삭제되는) 요청이 대량으로 생성될 수 있습니다.


bounds : geoshape

이 속성은 결과를 해당 영역 내로 제한하는 데 사용되는 경계 영역을 보유합니다. 이 속성은 쿼리가 부분적으로만 채워진 경우 특히 유용하며, 서비스가 지정된 데이터에 대해 모든 일치 항목을 지오코딩(역방향)하려고 시도하기 때문입니다.

허용되는 유형은 georectanglegeocircle 입니다.


count : int [read-only]

이 속성은 현재 모델이 가지고 있는 위치 수를 보유합니다. 다른 용도 중에서도 GeocodeModel::get -메서드를 통해 위치에 액세스할 때 이 값을 사용할 수 있습니다.


error : enumeration [read-only]

이 읽기 전용 속성은 지오코딩 요청의 최신 오류 값을 보유합니다.

  • GeocodeModel.NoError - 오류가 발생하지 않았습니다.
  • GeocodeModel.CombinationError - 여러 소스에서 결과를 결합하는 동안 오류가 발생했습니다.
  • GeocodeModel.CommunicationError - 서비스 제공업체와 통신하는 동안 오류가 발생했습니다.
  • GeocodeModel.EngineNotSetError - 모델의 플러그인 속성이 설정되지 않았거나 플러그인과 연결된 지오코딩 관리자가 없습니다.
  • GeocodeModel.MissingRequiredParameterError - 필수 매개 변수가 지정되지 않았습니다.
  • GeocodeModel.ParseError - 서비스 제공업체의 응답이 인식할 수 없는 형식입니다.
  • GeocodeModel.UnknownError - 다른 범주에 속하지 않는 오류가 발생했습니다.
  • GeocodeModel.UnknownParameterError - 플러그인이 제공된 매개변수 중 하나를 인식하지 못했습니다.
  • GeocodeModel.지원되지 않는 옵션 오류 - 요청된 작업이 지오코딩 제공업체에서 지원되지 않습니다. 로드된 엔진이 리버스 지오코딩과 같은 특정 지오코딩 요청을 지원하지 않을 때 발생할 수 있습니다.

errorString : string [read-only]

이 읽기 전용 속성은 최신 지오코딩 오류의 텍스트 표시를 보유합니다. 오류가 발생하지 않았거나 모델이 재설정된 경우 빈 문자열이 반환됩니다.

연관된 텍스트 표현이 없는 오류가 발생한 경우에도 빈 문자열이 반환될 수 있습니다.


limit : int

이 속성은 최대 결과 수를 보유합니다. 제한 및 offset 값은 자유 문자열 지오코딩에만 적용됩니다(즉, 검색 쿼리에 주소나 좌표를 사용할 때는 고려되지 않음).

limit이 -1이면 전체 결과 집합이 반환되고, 그렇지 않으면 최대 제한 결과만 반환됩니다. limit 및 offset 결과를 함께 사용하여 페이징을 구현할 수 있습니다.


offset : int

이 속성은 결과의 첫 번째 '오프셋' 숫자를 반환하지 않도록 지시합니다. limit 및 오프셋 값은 자유 문자열 지오코딩에만 적용 가능합니다(즉, 검색 쿼리에 주소나 좌표를 사용할 때는 고려되지 않음).

limit 및 오프셋 결과를 함께 사용하여 페이징을 구현할 수 있습니다.


plugin : Plugin

이 속성은 실제 지오코딩 서비스를 제공하는 플러그인을 보유합니다. 모든 플러그인이 반드시 지오코딩을 제공하는 것은 아닙니다(예를 들어 라우팅이나 지도만 제공할 수도 있습니다).

Plugin참조하세요 .


query : QVariant

이 속성은 지오코딩 요청의 데이터를 보유합니다. 이 속성은 데이터와 수행될 작업 유형을 결정하는 세 가지 유형의 쿼리를 허용합니다:

  • 주소 - 지오코딩(좌표로 사용할 주소)
  • coordinate - 역 지오코딩(좌표에서 주소로)
  • 문자열 - 지오코딩(주소에서 좌표로)

status : enumeration [read-only]

이 읽기 전용 속성은 모델의 현재 상태를 보유합니다.

  • GeocodeModel.Null - 지오코딩 요청이 발행되지 않았거나 reset 이 호출되었습니다.
  • GeocodeModel.Ready - 지오코딩 요청이 성공적으로 완료되었습니다.
  • GeocodeModel.Loading - 지오코딩 요청이 발행되었지만 아직 완료되지 않았습니다.
  • GeocodeModel.Error - 지오코딩 오류가 발생했습니다. 자세한 내용은 errorerrorString

신호 문서

locationsChanged()

이 신호는 모델의 위치가 변경되었을 때 발생합니다.

참고: 해당 핸들러는 onLocationsChanged 입니다.

count도 참조하세요 .


메서드 문서

void cancel()

미결 요청을 취소하고 오류를 지웁니다. 모델 상태는 GeocodeModel.Null 또는 GeocodeModel.Ready로 설정됩니다.


Location get(int index)

주어진 index 에서 Location 을 반환합니다. count 속성을 사용하여 사용 가능한 위치의 수를 확인합니다. 위치는 0부터 인덱싱되므로 액세스 가능한 범위는 0...(카운트 - 1)입니다.

범위를 벗어나 액세스하면 0(널 객체)이 반환되고 경고가 표시됩니다.


void reset()

모델을 초기화합니다. 모든 위치 데이터가 지워지고 미결 요청이 중단되며 가능한 오류가 지워집니다. 모델 상태가 GeocodeModel.Null로 설정됩니다.


void update()

GeocodeModel 에 데이터를 업데이트하도록 지시합니다. autoUpdate 이 비활성화되어 있을 때 쿼리가 변경되었을 때 강제로 새로 고치도록 하는 데 가장 유용합니다.


© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.