GeocodeModel QML Type
GeocodeModel 유형은 지리 정보와 관련된 검색 작업을 지원합니다. 더 보기...
| Import Statement: | import QtLocation 6.12 |
| Since: | QtLocation 5.5 |
속성
- autoUpdate : bool
- bounds : geoShape
- count : int
- error : enumeration
- errorString : string
- limit : int
- offset : int
- plugin : Plugin
- query : QVariant
- status : enumeration
신호
방법
상세 설명
GeocodeModel 유형은 주소나 검색 문자열을 지리적 위치와 매칭하기 위한 모델/뷰 그룹의 일부로 사용됩니다. 생성된 지리적 위치가 어떻게 사용되거나 표시되는지는 GeocodeModel에 연결된 뷰(예: MapItemView 또는 ListView)에 의해 결정됩니다.
Map 및 RouteModel 와 마찬가지로, GeocodeModel이 작동하는 데 필요한 모든 데이터는 서비스 플러그인에서 제공됩니다. 이 데이터는 plugin 속성에 포함되어 있으며, GeocodeModel이 정상적으로 작동하려면 이 속성을 먼저 설정해야 합니다.
플러그인이 설정되면, query 속성을 사용하여 일치시킬 주소나 검색 문자열을 지정할 수 있습니다. autoUpdate 가 활성화된 경우, 모델은 출력을 자동으로 업데이트합니다. 그렇지 않은 경우 update 메서드를 사용할 수 있습니다. 기본적으로 autoUpdate 는 비활성화되어 있습니다.
GeocodeModel에 저장 및 반환되는 데이터는 "locationData"라는 역할 이름을 가진 리스트 형태의 Location 객체로 구성됩니다. 구조 및 내용에 대한 자세한 내용은 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'로 설정하고 쿼리로 Address 또는 geoCoordinate 를 사용하는 경우, 객체의 속성에 어떤 변경 사항이라도 발생하면 새로운 요청이 전송된다는 점에 유의하십시오. autoUpdate가 활성화된 상태에서 객체의 여러 속성을 조정하는 경우, 불필요한(나중에 폐기되는) 요청이 대량으로 생성될 수 있습니다.
bounds : geoShape
이 속성은 결과를 해당 영역 내로 제한하는 데 사용되는 경계 영역을 포함합니다. 쿼리가 부분적으로만 입력된 경우, 서비스가 지정된 데이터에 대해 일치하는 모든 항목에 대해 (역)지오코딩을 시도하므로 이 기능이 특히 유용합니다.
허용되는 유형은 geoRectangle 및 geoCircle 입니다.
count : int [read-only]
이 속성은 모델이 현재 가지고 있는 위치의 수를 나타냅니다. 여러 용도 중에서도, ` GeocodeModel::get ` 메서드를 통해 위치에 접근할 때 이 값을 사용할 수 있습니다.
error : enumeration [read-only]
이 읽기 전용 속성은 지오코딩 요청의 최신 오류 값을 저장합니다.
- GeocodeModel.NoError - 오류가 발생하지 않았습니다.
- GeocodeModel.xml-ph-0000@deepl.internal - 오류가 발생하지 않았습니다. .CombinationError - 여러 소스의 결과를 결합하는 과정에서 오류가 발생했습니다.
- GeocodeModel.xml-ph-0000@deepl.internal - 오류가 발생하지 않았습니다..CombinationError - 여러 소스의 결과를 결합하는 동안 오류가 발생했습니다.
- GeocodeModel.EngineNotSetError - 모델의 플러그인 속성이 설정되지 않았거나 플러그인과 연결된 지오코딩 관리자가 없습니다.
- GeocodeModel.MissingRequiredParameterError - 필수 매개 변수가 지정되지 않았습니다.
- GeocodeModel.ParseError - 서비스 제공자의 응답 형식을 인식할 수 없습니다.
- GeocodeModel.UnknownError - 다른 범주에 해당하지 않는 오류가 발생했습니다.
- GeocodeModel.UnknownParameterError - 플러그인이 제공된 매개변수 중 하나를 인식하지 못했습니다.
- GeocodeModel.UnsupportedOptionError - 요청된 작업이 지오코딩 제공자가 지원하지 않는 작업입니다. 이 오류는 로드된 엔진이 역지오코딩과 같은 특정 지오코딩 요청을 지원하지 않을 때 발생할 수 있습니다.
errorString : string [read-only]
이 읽기 전용 속성은 가장 최근의 지오코딩 오류에 대한 텍스트 형식의 정보를 포함합니다. 오류가 발생하지 않았거나 모델이 재설정된 경우, 빈 문자열이 반환됩니다.
또한, 텍스트로 표현할 수 없는 오류가 발생한 경우에도 빈 문자열이 반환될 수 있습니다.
limit : int
이 속성은 결과의 최대 개수를 지정합니다. limit 및 offset 값은 자유 문자열 지오코딩에만 적용됩니다(즉, 검색 쿼리에 주소나 좌표를 사용할 때는 고려되지 않습니다).
limit 값이 -1이면 전체 결과 집합이 반환되며, 그렇지 않은 경우 최대 limit 개의 결과가 반환됩니다. limit 및 offset 결과를 함께 사용하여 페이징을 구현할 수 있습니다.
offset : int
이 속성은 결과의 처음 ‘offset’ 개를 반환하지 않도록 지정합니다. ‘ limit ’ 및 ‘offset’ 값은 자유 문자열 지오코딩에서만 적용됩니다(즉, 검색 쿼리에 주소나 좌표를 사용할 때는 고려되지 않습니다).
limit 와 offset 결과를 함께 사용하여 페이징을 구현할 수 있습니다.
plugin : Plugin
이 속성은 실제 지오코딩 서비스를 제공하는 플러그인을 포함합니다. 모든 플러그인이 반드시 지오코딩 기능을 제공하는 것은 아니라는 점에 유의하십시오(예를 들어, 경로 안내나 지도 기능만 제공할 수도 있습니다).
Plugin도 참조하십시오 .
query : QVariant
이 속성은 지오코딩 요청의 데이터를 포함합니다. 이 속성은 데이터와 수행할 작업의 유형을 모두 결정하는 세 가지 유형의 쿼리를 지원합니다:
- 주소 - 지오코딩 (주소에서 좌표로)
- geoCoordinate - 역지오코딩 (좌표에서 주소로)
- 문자열 - 지오코딩 (주소에서 좌표로)
status : enumeration [read-only]
이 읽기 전용 속성은 모델의 현재 상태를 나타냅니다.
- GeocodeModel.Null - 지오코딩 요청이 발행되지 않았거나 reset 가 호출되었습니다.
- GeocodeModel.Ready - 지오코드 요청이 성공적으로 완료되었습니다.
- GeocodeModel.Loading - 지오코딩 요청이 전송되었으나 아직 완료되지 않았습니다.
- GeocodeModel.Error - 지오코딩 오류가 발생했습니다. 자세한 내용은 error 및 errorString
Signal 문서에서 확인할 수 있습니다.
locationsChanged()
이 신호는 모델 내 위치가 변경되었을 때 발생합니다.
참고: 해당 핸들러는 onLocationsChanged 입니다.
count도 참조하십시오 .
메서드 문서
void cancel()
미처리된 요청을 모두 취소하고 오류를 해결합니다. 모델 상태는 ` GeocodeModel.Null` 또는 ` GeocodeModel.Ready` 중 하나로 설정됩니다.
Location get(int index)
지정된 ` index` 위치에서 ` Location `를 반환합니다. 사용 가능한 위치의 개수를 확인하려면 ` count ` 속성을 사용하십시오. 위치는 0부터 인덱싱되므로, 접근 가능한 범위는 0...(count - 1)입니다.
범위를 벗어난 위치에 접근하면 0(null 객체)이 반환되고 경고가 발생합니다.
void reset()
모델을 초기화합니다. 모든 위치 데이터가 삭제되고, 처리 중인 요청은 모두 중단되며, 발생할 수 있는 오류가 모두 해결됩니다. 모델 상태는 ` GeocodeModel.Null`로 설정됩니다.
void update()
GeocodeModel 에 데이터 업데이트를 지시합니다. 이 기능은 autoUpdate 가 비활성화된 상태에서 쿼리가 변경되었을 때 강제로 새로 고침을 수행해야 할 때 가장 유용합니다.
© 2026 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.