RouteModel QML Type
RouteModel 유형은 경로에 대한 액세스를 제공합니다. 더 보기...
Import Statement: | import QtLocation 6.8 |
Since: | QtLocation 5.5 |
속성
- autoUpdate : bool
- count : int
- error : enumeration
- errorString : string
- measurementSystem : Locale::MeasurementSystem
- plugin : Plugin
- query : RouteQuery
- status : enumeration
방법
상세 설명
RouteModel 유형은 백엔드 제공업체에서 지리적 경로를 검색하기 위한 모델/보기 그룹화의 일부로 사용됩니다. 경로에는 두 지점 사이의 운전 경로, 여러 경유지가 있는 도보 경로 및 기타 다양한 유사 개념에 대한 데이터가 포함됩니다. QML의 다른 모델 유형(예: 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 개체가 조금이라도 변경되면 새 요청이 전송된다는 점에 유의하세요. 자동 업데이트가 활성화된 상태에서 RouteQuery 의 많은 속성을 조정하는 경우 쓸모없는(나중에 삭제되는) 요청이 대량으로 생성될 수 있습니다.
count : int |
이 속성은 현재 모델에 있는 경로 수를 보유합니다. 다른 용도 중에서도 QtLocation::RouteModel::get -method를 통해 경로에 액세스할 때 이 값을 사용할 수 있습니다.
error : enumeration |
이 읽기 전용 속성은 라우팅 요청의 최신 오류 값을 보유합니다.
- RouteModel.NoError - 오류가 발생하지 않았습니다.
- RouteModel.CommunicationError - 서비스 제공자와 통신하는 동안 오류가 발생했습니다.
- RouteModel.EngineNotSetError - 모델의 플러그인 속성이 설정되지 않았거나 플러그인과 연결된 라우팅 관리자가 없습니다.
- RouteModel.MissingRequiredParameterError - 필수 매개 변수가 지정되지 않았습니다.
- RouteModel.ParseError - 서비스 제공업체의 응답이 인식할 수 없는 형식입니다.
- RouteModel.UnknownError - 다른 범주에 속하지 않는 오류가 발생했습니다.
- RouteModel.UnknownParameterError - 플러그인이 제공된 매개변수 중 하나를 인식하지 못했습니다.
- RouteModel.지원되지 않는 옵션 오류 - 요청된 작업이 라우팅 제공업체에서 지원되지 않습니다. 로드된 엔진이 특정 유형의 라우팅 요청을 지원하지 않을 때 발생할 수 있습니다.
errorString : string |
이 읽기 전용 속성은 최신 라우팅 오류의 텍스트 표시를 보유합니다. 오류가 발생하지 않았거나 모델이 재설정된 경우 빈 문자열이 반환됩니다.
연관된 텍스트 표현이 없는 오류가 발생한 경우에도 빈 문자열이 반환될 수 있습니다.
measurementSystem : Locale::MeasurementSystem |
이 속성은 경로를 계산할 때 사용할 측정 시스템을 보유합니다. plugin 의 Plugin::locales 속성이 변경되면 이 속성이 변경됩니다.
이 속성을 설정하는 경우 plugin 속성을 설정한 후에 설정해야 합니다.
plugin : Plugin |
이 속성은 실제 라우팅 서비스를 제공하는 플러그인을 보유합니다. 모든 플러그인이 반드시 라우팅을 제공하는 것은 아닙니다(예를 들어 지오코딩이나 지도만 제공할 수도 있습니다).
RouteModel 에서 유용한 작업을 수행하려면 유효한 플러그인이 설정되어 있어야 합니다.
Plugin 를참조하세요 .
query : RouteQuery |
이 속성은 경로 요청의 데이터를 보유합니다. 주요 데이터는 경유지 좌표와 가능한 추가 기본 설정(이동 수단, 경로에서 피해야 할 것 등)입니다.
status : enumeration |
이 읽기 전용 속성은 모델의 현재 상태를 보유합니다.
- RouteModel.Null - 경로 요청이 발행되지 않았거나 reset 이 호출되었습니다.
- RouteModel.Ready - 경로 요청이 성공적으로 완료되었습니다.
- RouteModel.Loading - 경로 요청이 발행되었지만 아직 완료되지 않았습니다.
- RouteModel.Error - 라우팅 오류가 발생했으며, 자세한 내용은 error 및 errorString
메서드 문서
void cancel() |
미결 요청을 모두 취소하고 오류를 지웁니다. 모델 상태는 RouteModel.Null 또는 RouteModel.Ready로 설정됩니다.
지정된 index 에서 경로를 반환합니다. count 속성을 사용하여 사용 가능한 경로의 양을 확인합니다. 경로는 0부터 인덱싱되므로 액세스 가능한 범위는 0...(카운트 - 1)입니다.
범위를 벗어난 경로에 액세스하면 빈 경로가 반환되고 경고가 표시됩니다.
void reset() |
모델을 재설정합니다. 모든 경로 데이터가 지워지고 미결 요청이 중단되며 가능한 오류가 지워집니다. 모델 상태가 RouteModel.Null로 설정됩니다.
void update() |
RouteModel 에 데이터를 업데이트하도록 지시합니다. 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.