RouteModel QML Type
RouteModel 유형은 경로에 대한 액세스를 제공합니다. 더 보기...
| Import Statement: | import QtLocation 6.12 |
| Since: | QtLocation 5.5 |
속성
- autoUpdate : bool
- count : int
- error : enumeration
- errorString : string
- measurementSystem : Locale::MeasurementSystem
- plugin : Plugin
- query : RouteQuery
- status : enumeration
방법
상세 설명
RouteModel 유형은 모델/뷰 그룹의 일부로 사용되어 백엔드 제공자로부터 지리적 경로를 가져옵니다. 경로에는 두 지점 간의 운전 경로, 여러 경유지가 포함된 도보 경로 및 기타 다양한 유사한 개념에 대한 데이터가 포함됩니다. 이 타입은 QML의 다른 Model 타입(예: ListModel 참조)과 매우 유사하게 작동하며, MapItemView 및 ListView 와 같은 뷰와 상호 작용합니다.
Map 및 GeocodeModel 과 마찬가지로, RouteModel이 작동하는 데 필요한 모든 데이터는 서비스 플러그인에서 제공됩니다. 이 데이터는 ` plugin ` 속성에 포함되어 있으며, RouteModel이 실질적인 작업을 수행하기 전에 이 속성을 반드시 설정해야 합니다.
플러그인이 설정되면, 적절한 경유지 및 기타 설정을 포함하여 RouteQuery 를 생성하고, RouteModel의 query 속성을 설정하십시오. autoUpdate 가 활성화되어 있으면 업데이트가 자동으로 시작됩니다. 그렇지 않은 경우, update 메서드를 사용할 수 있습니다. 기본적으로 autoUpdate 는 비활성화되어 있습니다.
RouteModel에 저장 및 반환되는 데이터는 "routeData"라는 역할 이름을 가진 목록 형태의 route 객체로 구성됩니다. 구조 및 내용에 대한 자세한 내용은 route 문서를 참조하십시오.
사용 예
다음 코드 조각은 두 부분으로 구성되어 있으며, 첫 번째는 객체 선언을, 두 번째는 이를 사용하는 간단한 절차적 코드를 보여줍니다. 쿼리 설정 도중 불필요한 추가 요청이 발생하지 않도록, routeModel의 autoUpdate 속성을 false로 설정하고 쿼리 설정이 완료된 후 update 를 호출합니다.
Plugin {
id: aPlugin
name: "osm"
}
RouteQuery {
id: aQuery
}
RouteModel {
id: routeModel
plugin: aPlugin
query: aQuery
autoUpdate: false
}{
aQuery.addWaypoint(...)
aQuery.addWaypoint(...)
aQuery.travelModes = ...
routeModel.update()
}속성 설명서
autoUpdate : bool
이 속성은 모델에 연결된 RouteQuery 의 변경 사항에 따라 모델이 자동으로 업데이트되는지 여부를 제어합니다. 이 속성의 기본값은 false입니다.
이 값을 'true'로 설정할 경우, query 속성에 설정된 RouteQuery 객체의 사소한 변경이라도 새로운 요청이 전송된다는 점에 유의하십시오. autoUpdate가 활성화된 상태에서 RouteQuery 의 여러 속성을 조정할 경우, 불필요한(나중에 버려지는) 요청이 대량으로 발생할 수 있습니다.
count : int [read-only]
이 속성은 모델이 현재 가지고 있는 경로의 수를 나타냅니다. 이 값은 여러 용도로 사용될 수 있으며, 특히 QtLocation::RouteModel::get 메서드를 통해 경로에 접근할 때 활용할 수 있습니다.
error : enumeration [read-only]
이 읽기 전용 속성은 라우팅 요청의 최신 오류 값을 저장합니다.
- RouteModel.NoError - 오류가 발생하지 않았습니다.
- RouteModel.xml-ph-0000@deepl.internal - 오류가 발생하지 않았습니다. .CommunicationError - 서비스 제공자와의 통신 중에 오류가 발생했습니다.
- RouteModel.EngineNotSetError - 모델의 플러그인 속성이 설정되지 않았거나 플러그인과 연결된 라우팅 관리자가 없습니다.
- RouteModel.MissingRequiredParameterError - 필수 매개 변수가 지정되지 않았습니다.
- RouteModel.ParseError - 서비스 제공자의 응답 형식이 인식할 수 없는 형식입니다.
- RouteModel.UnknownError - 다른 범주에 해당하지 않는 오류가 발생했습니다.
- RouteModel.UnknownParameterError - 플러그인이 전달받은 매개변수 중 하나를 인식하지 못했습니다.
- RouteModel.UnsupportedOptionError - 요청된 작업이 라우팅 제공자가 지원하지 않는 작업입니다. 이는 로드된 엔진이 특정 유형의 라우팅 요청을 지원하지 않을 때 발생할 수 있습니다.
errorString : string [read-only]
이 읽기 전용 속성은 가장 최근의 라우팅 오류에 대한 텍스트 표현을 포함합니다. 오류가 발생하지 않았거나 모델이 재설정된 경우, 빈 문자열이 반환됩니다.
텍스트로 표현할 수 없는 오류가 발생한 경우에도 빈 문자열이 반환될 수 있습니다.
measurementSystem : Locale::MeasurementSystem
이 속성은 경로를 계산할 때 사용될 측정 단위를 지정합니다. 이 속성은 plugin 의 ‘ Plugin::locales ’ 속성이 변경될 때 함께 변경됩니다.
이 속성을 설정할 경우, 반드시 plugin 속성이 설정된 후에 설정해야 합니다.
plugin : Plugin
이 속성은 실제 라우팅 서비스를 제공하는 플러그인을 포함합니다. 모든 플러그인이 반드시 라우팅 기능을 제공하는 것은 아니라는 점에 유의하십시오(예를 들어, 지오코딩이나 지도 기능만 제공할 수도 있습니다).
RouteModel 가 유용한 작업을 수행하려면 먼저 유효한 플러그인이 설정되어 있어야 합니다.
Plugin도 참조하십시오 .
query : RouteQuery
이 속성은 경로 요청 데이터를 포함합니다. 주요 데이터로는 경유지 좌표와 기타 추가 선호 사항(이동 수단, 경로상에서 피해야 할 사항 등)이 있습니다.
status : enumeration [read-only]
이 읽기 전용 속성은 모델의 현재 상태를 나타냅니다.
- RouteModel.Null - 라우트 요청이 발행되지 않았거나 reset 가 호출되었습니다.
- RouteModel.Ready - 경로 요청이 성공적으로 완료되었습니다.
- RouteModel.Loading - 경로 요청이 발행되었으나 아직 완료되지 않았습니다.
- RouteModel.Error - 라우팅 오류가 발생했습니다. 자세한 내용은 error 및 errorString
메서드 설명
void cancel()
미처리된 요청을 모두 취소하고 오류를 초기화합니다. 모델 상태는 ‘ RouteModel.Null’ 또는 ‘ RouteModel.Ready’ 중 하나로 설정됩니다.
route get(int index)
지정된 ` index`에 해당하는 경로를 반환합니다. 사용 가능한 경로의 개수를 확인하려면 ` count ` 속성을 사용하십시오. 경로는 0부터 인덱싱되므로, 접근 가능한 범위는 0...(count - 1)입니다.
범위를 벗어난 인덱스에 접근하면 빈 경로가 반환되고 경고가 발생합니다.
void reset()
모델을 초기화합니다. 모든 경로 데이터가 지워지고, 처리 중인 요청은 모두 중단되며, 발생할 수 있는 오류도 모두 해제됩니다. 모델 상태는 ` RouteModel.Null`로 설정됩니다.
void update()
RouteModel 에 데이터 업데이트를 지시합니다. 이 기능은 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.