├── .cmake.conf ├── .gitreview ├── .tag ├── CMakeLists.txt ├── LICENSES ├── BSD-3-Clause.txt ├── GFDL-1.3-no-invariants-only.txt ├── GPL-2.0-only.txt ├── GPL-3.0-only.txt ├── LGPL-3.0-only.txt ├── LicenseRef-Qt-Commercial.txt └── MIT.txt ├── REUSE.toml ├── coin ├── axivion │ └── ci_config_linux.json └── module_config.yaml ├── configure.json ├── dependencies.yaml ├── dist ├── REUSE.toml ├── changes-5.10.0 ├── changes-5.10.1 ├── changes-5.11.0 ├── changes-5.11.1 ├── changes-5.11.2 ├── changes-5.11.3 ├── changes-5.12.0 ├── changes-5.12.1 ├── changes-5.12.2 ├── changes-5.12.3 ├── changes-5.12.4 ├── changes-5.12.5 ├── changes-5.13.0 ├── changes-5.13.1 ├── changes-5.13.2 ├── changes-5.14.0 ├── changes-5.14.1 ├── changes-5.14.2 ├── changes-5.15.0 ├── changes-5.15.1 ├── changes-5.15.2 ├── changes-5.2.1 ├── changes-5.3.0 ├── changes-5.3.1 ├── changes-5.3.2 ├── changes-5.4.0 ├── changes-5.4.1 ├── changes-5.4.2 ├── changes-5.5.0 ├── changes-5.5.1 ├── changes-5.6.0 ├── changes-5.6.1 ├── changes-5.6.2 ├── changes-5.6.3 ├── changes-5.7.0 ├── changes-5.7.1 ├── changes-5.8.0 ├── changes-5.9.0 ├── changes-5.9.1 ├── changes-5.9.2 ├── changes-5.9.3 └── changes-5.9.4 ├── examples ├── CMakeLists.txt └── location │ ├── CMakeLists.txt │ ├── geojson_viewer │ ├── CMakeLists.txt │ ├── GeoJsonDelegate.qml │ ├── data │ │ ├── 01-point.json │ │ ├── 02-linestring.json │ │ ├── 03-multipoint.json │ │ ├── 04-polygon.json │ │ ├── 05-multilinestring.json │ │ ├── 06-multipolygon.json │ │ ├── 07-geometrycollection.json │ │ ├── 08-feature.json │ │ ├── 09-featurecollection.json │ │ ├── 10-countries.json │ │ ├── 11-full.json │ │ └── LICENSE.10-countries │ ├── doc │ │ ├── images │ │ │ └── geojson_viewer.png │ │ └── src │ │ │ └── geojson_viewer.qdoc │ ├── geojson_viewer.pro │ ├── main.cpp │ ├── main.qml │ ├── mapitems │ │ ├── CircleItem.qml │ │ ├── PolygonItem.qml │ │ ├── PolylineItem.qml │ │ └── RectangleItem.qml │ └── qml.qrc │ ├── itemview_transitions │ ├── CMakeLists.txt │ ├── OsloListModel.qml │ ├── doc │ │ ├── images │ │ │ └── itemview_transitions.jpg │ │ └── src │ │ │ └── itemview_transitions.qdoc │ ├── itemview_transitions.pro │ ├── main.cpp │ └── main.qml │ ├── mapviewer │ ├── CMakeLists.txt │ ├── Main.qml │ ├── doc │ │ ├── images │ │ │ └── mapviewer.png │ │ └── src │ │ │ └── mapviewer.qdoc │ ├── forms │ │ ├── Geocode.qml │ │ ├── GeocodeForm.ui.qml │ │ ├── Locale.qml │ │ ├── LocaleForm.ui.qml │ │ ├── Message.qml │ │ ├── MessageForm.ui.qml │ │ ├── ReverseGeocode.qml │ │ ├── ReverseGeocodeForm.ui.qml │ │ ├── RouteAddress.qml │ │ ├── RouteAddressForm.ui.qml │ │ ├── RouteCoordinate.qml │ │ ├── RouteCoordinateForm.ui.qml │ │ ├── RouteList.qml │ │ ├── RouteListDelegate.qml │ │ └── RouteListHeader.qml │ ├── helper.js │ ├── main.cpp │ ├── map │ │ ├── MapComponent.qml │ │ ├── MapSliders.qml │ │ ├── Marker.qml │ │ └── MiniMap.qml │ ├── mapviewer.pro │ ├── menus │ │ ├── ItemPopupMenu.qml │ │ ├── MainMenu.qml │ │ ├── MapPopupMenu.qml │ │ └── MarkerPopupMenu.qml │ ├── qmldir │ └── resources │ │ ├── marker.png │ │ ├── marker_blue.png │ │ ├── scale.png │ │ └── scale_end.png │ ├── minimal_map │ ├── CMakeLists.txt │ ├── doc │ │ ├── images │ │ │ └── minimal_map.png │ │ └── src │ │ │ └── minimal_map.qdoc │ ├── main.cpp │ ├── main.qml │ ├── minimal_map.pro │ └── qml.qrc │ ├── places │ ├── CMakeLists.txt │ ├── doc │ │ ├── images │ │ │ └── places.png │ │ └── src │ │ │ └── places.qdoc │ ├── forms │ │ ├── Message.qml │ │ ├── MessageForm.ui.qml │ │ ├── PlaceDetails.qml │ │ ├── PlaceDetailsForm.ui.qml │ │ ├── SearchBoundingBox.qml │ │ ├── SearchBoundingBoxForm.ui.qml │ │ ├── SearchBoundingCircle.qml │ │ ├── SearchBoundingCircleForm.ui.qml │ │ ├── SearchCenter.qml │ │ ├── SearchCenterForm.ui.qml │ │ ├── SearchOptions.qml │ │ └── SearchOptionsForm.ui.qml │ ├── helper.js │ ├── items │ │ ├── MainMenu.qml │ │ ├── MapComponent.qml │ │ └── SearchBar.qml │ ├── main.cpp │ ├── places.pro │ ├── places.qml │ ├── places.qrc │ ├── resources │ │ ├── categories.png │ │ ├── left.png │ │ ├── marker.png │ │ ├── right.png │ │ ├── scale.png │ │ ├── scale_end.png │ │ ├── search.png │ │ └── star.png │ └── views │ │ ├── CategoryDelegate.qml │ │ ├── CategoryView.qml │ │ ├── EditorialDelegate.qml │ │ ├── EditorialPage.qml │ │ ├── EditorialView.qml │ │ ├── ImageView.qml │ │ ├── RatingView.qml │ │ ├── ReviewDelegate.qml │ │ ├── ReviewPage.qml │ │ ├── ReviewView.qml │ │ ├── SearchResultDelegate.qml │ │ ├── SearchResultView.qml │ │ └── SuggestionView.qml │ ├── places_list │ ├── CMakeLists.txt │ ├── Marker.qml │ ├── doc │ │ ├── images │ │ │ └── places_list.png │ │ └── src │ │ │ └── places_list.qdoc │ ├── main.cpp │ ├── marker.png │ ├── places_list.pro │ ├── places_list.qml │ └── places_list.qrc │ ├── places_map │ ├── CMakeLists.txt │ ├── Main.qml │ ├── PermissionsScreen.qml │ ├── PlacesMap.qml │ ├── doc │ │ ├── images │ │ │ └── places_map.png │ │ └── src │ │ │ └── places_map.qdoc │ ├── main.cpp │ ├── marker.png │ ├── places_map.pro │ └── places_map.qrc │ └── planespotter │ ├── CMakeLists.txt │ ├── Plane.qml │ ├── airplane.svg │ ├── doc │ ├── images │ │ └── planespotter.png │ └── src │ │ └── planespotter.qdoc │ ├── main.cpp │ ├── planespotter.pro │ ├── planespotter.qml │ └── qml.qrc ├── licenseRule.json ├── src ├── CMakeLists.txt ├── configure.cmake ├── location │ ├── CMakeLists.txt │ ├── configure.json │ ├── declarativemaps │ │ ├── error_messages.cpp │ │ ├── error_messages_p.h │ │ ├── qdeclarativegeocodemodel.cpp │ │ ├── qdeclarativegeocodemodel_p.h │ │ ├── qdeclarativegeojsondata.cpp │ │ ├── qdeclarativegeojsondata_p.h │ │ ├── qdeclarativegeoroutemodel.cpp │ │ ├── qdeclarativegeoroutemodel_p.h │ │ ├── qdeclarativegeoserviceprovider.cpp │ │ └── qdeclarativegeoserviceprovider_p.h │ ├── declarativeplaces │ │ ├── qdeclarativecategory.cpp │ │ ├── qdeclarativecategory_p.h │ │ ├── qdeclarativecontactdetails.cpp │ │ ├── qdeclarativecontactdetails_p.h │ │ ├── qdeclarativeplace.cpp │ │ ├── qdeclarativeplace_p.h │ │ ├── qdeclarativeplacecontentmodel.cpp │ │ ├── qdeclarativeplacecontentmodel_p.h │ │ ├── qdeclarativesearchmodelbase.cpp │ │ ├── qdeclarativesearchmodelbase_p.h │ │ ├── qdeclarativesearchresultmodel.cpp │ │ ├── qdeclarativesearchresultmodel_p.h │ │ ├── qdeclarativesearchsuggestionmodel.cpp │ │ ├── qdeclarativesearchsuggestionmodel_p.h │ │ ├── qdeclarativesupportedcategoriesmodel.cpp │ │ └── qdeclarativesupportedcategoriesmodel_p.h │ ├── doc │ │ ├── images │ │ │ ├── api-mapcircle.png │ │ │ ├── api-mapitemgroup.png │ │ │ ├── api-mappolygon.png │ │ │ ├── api-mappolyline.png │ │ │ ├── api-mapquickitem-anchor.png │ │ │ ├── api-mapquickitem.png │ │ │ ├── api-maprectangle.png │ │ │ ├── mapsdemo-finished.png │ │ │ ├── mapsdemo-routing.png │ │ │ ├── mapsdemo-searchgui.png │ │ │ └── mapsdemo-verybasic.png │ │ ├── qtlocation.qdocconf │ │ ├── snippets │ │ │ ├── cpp │ │ │ │ ├── cppqml.cpp │ │ │ │ └── main.cpp │ │ │ ├── declarative │ │ │ │ ├── maps.qml │ │ │ │ ├── marker.png │ │ │ │ ├── nmealog.txt │ │ │ │ ├── places.qml │ │ │ │ ├── places_loader.qml │ │ │ │ ├── plugin.qml │ │ │ │ └── routing.qml │ │ │ ├── maps │ │ │ │ └── routehandler.h │ │ │ └── places │ │ │ │ ├── main.cpp │ │ │ │ └── requesthandler.h │ │ └── src │ │ │ ├── example-parameters.qdocinc │ │ │ ├── maps.qdoc │ │ │ ├── place-caveats.qdocinc │ │ │ ├── place-crossref.qdocinc │ │ │ ├── place-definition.qdocinc │ │ │ ├── places.qdoc │ │ │ ├── plugins │ │ │ ├── esri.qdoc │ │ │ ├── itemsoverlay.qdoc │ │ │ ├── mapbox.qdoc │ │ │ ├── mapboxgl.qdoc │ │ │ ├── nokia.qdoc │ │ │ ├── osm.qdoc │ │ │ └── places-backend.qdoc │ │ │ ├── qml-maps.qdoc │ │ │ ├── qt6-changes.qdoc │ │ │ ├── qtlocation-cpp.qdoc │ │ │ ├── qtlocation-examples.qdoc │ │ │ ├── qtlocation-geoservices.qdoc │ │ │ ├── qtlocation-qml.qdoc │ │ │ ├── qtlocation-toc.qdoc │ │ │ └── qtlocation.qdoc │ ├── maps │ │ ├── MapView.qml │ │ ├── qabstractgeotilecache.cpp │ │ ├── qabstractgeotilecache_p.h │ │ ├── qcache3q_p.h │ │ ├── qgeocameracapabilities.cpp │ │ ├── qgeocameracapabilities_p.h │ │ ├── qgeocameradata.cpp │ │ ├── qgeocameradata_p.h │ │ ├── qgeocameratiles.cpp │ │ ├── qgeocameratiles_p.h │ │ ├── qgeocameratiles_p_p.h │ │ ├── qgeocodereply.cpp │ │ ├── qgeocodereply.h │ │ ├── qgeocodereply_p.h │ │ ├── qgeocodingmanager.cpp │ │ ├── qgeocodingmanager.h │ │ ├── qgeocodingmanager_p.h │ │ ├── qgeocodingmanagerengine.cpp │ │ ├── qgeocodingmanagerengine.h │ │ ├── qgeocodingmanagerengine_p.h │ │ ├── qgeofiletilecache.cpp │ │ ├── qgeofiletilecache_p.h │ │ ├── qgeojson.cpp │ │ ├── qgeojson_p.h │ │ ├── qgeomaneuver.cpp │ │ ├── qgeomaneuver.h │ │ ├── qgeomaneuver_p.h │ │ ├── qgeomaneuverderived_p.h │ │ ├── qgeomap.cpp │ │ ├── qgeomap_p.h │ │ ├── qgeomap_p_p.h │ │ ├── qgeomappingmanager.cpp │ │ ├── qgeomappingmanager_p.h │ │ ├── qgeomappingmanager_p_p.h │ │ ├── qgeomappingmanagerengine.cpp │ │ ├── qgeomappingmanagerengine_p.h │ │ ├── qgeomappingmanagerengine_p_p.h │ │ ├── qgeomaptype.cpp │ │ ├── qgeomaptype_p.h │ │ ├── qgeomaptype_p_p.h │ │ ├── qgeoprojection.cpp │ │ ├── qgeoprojection_p.h │ │ ├── qgeoroute.cpp │ │ ├── qgeoroute.h │ │ ├── qgeoroute_p.h │ │ ├── qgeorouteparser.cpp │ │ ├── qgeorouteparser_p.h │ │ ├── qgeorouteparser_p_p.h │ │ ├── qgeorouteparserosrmv5.cpp │ │ ├── qgeorouteparserosrmv5_p.h │ │ ├── qgeoroutereply.cpp │ │ ├── qgeoroutereply.h │ │ ├── qgeoroutereply_p.h │ │ ├── qgeorouterequest.cpp │ │ ├── qgeorouterequest.h │ │ ├── qgeorouterequest_p.h │ │ ├── qgeoroutesegment.cpp │ │ ├── qgeoroutesegment.h │ │ ├── qgeoroutesegment_p.h │ │ ├── qgeoroutingmanager.cpp │ │ ├── qgeoroutingmanager.h │ │ ├── qgeoroutingmanager_p.h │ │ ├── qgeoroutingmanagerengine.cpp │ │ ├── qgeoroutingmanagerengine.h │ │ ├── qgeoroutingmanagerengine_p.h │ │ ├── qgeoserviceprovider.cpp │ │ ├── qgeoserviceprovider.h │ │ ├── qgeoserviceprovider_p.h │ │ ├── qgeoserviceproviderfactory.cpp │ │ ├── qgeoserviceproviderfactory.h │ │ ├── qgeotiledmap.cpp │ │ ├── qgeotiledmap_p.h │ │ ├── qgeotiledmap_p_p.h │ │ ├── qgeotiledmappingmanagerengine.cpp │ │ ├── qgeotiledmappingmanagerengine_p.h │ │ ├── qgeotiledmappingmanagerengine_p_p.h │ │ ├── qgeotiledmapreply.cpp │ │ ├── qgeotiledmapreply_p.h │ │ ├── qgeotiledmapreply_p_p.h │ │ ├── qgeotiledmapscene.cpp │ │ ├── qgeotiledmapscene_p.h │ │ ├── qgeotiledmapscene_p_p.h │ │ ├── qgeotilefetcher.cpp │ │ ├── qgeotilefetcher_p.h │ │ ├── qgeotilefetcher_p_p.h │ │ ├── qgeotilerequestmanager.cpp │ │ ├── qgeotilerequestmanager_p.h │ │ ├── qgeotilespec.cpp │ │ ├── qgeotilespec_p.h │ │ └── qgeotilespec_p_p.h │ ├── places │ │ ├── qplace.cpp │ │ ├── qplace.h │ │ ├── qplace_p.h │ │ ├── qplaceattribute.cpp │ │ ├── qplaceattribute.h │ │ ├── qplaceattribute_p.h │ │ ├── qplacecategory.cpp │ │ ├── qplacecategory.h │ │ ├── qplacecategory_p.h │ │ ├── qplacecontactdetail.cpp │ │ ├── qplacecontactdetail.h │ │ ├── qplacecontactdetail_p.h │ │ ├── qplacecontent.cpp │ │ ├── qplacecontent.h │ │ ├── qplacecontent_p.h │ │ ├── qplacecontentreply.cpp │ │ ├── qplacecontentreply.h │ │ ├── qplacecontentrequest.cpp │ │ ├── qplacecontentrequest.h │ │ ├── qplacecontentrequest_p.h │ │ ├── qplacedetailsreply.cpp │ │ ├── qplacedetailsreply.h │ │ ├── qplaceicon.cpp │ │ ├── qplaceicon.h │ │ ├── qplaceicon_p.h │ │ ├── qplaceidreply.cpp │ │ ├── qplaceidreply.h │ │ ├── qplacemanager.cpp │ │ ├── qplacemanager.h │ │ ├── qplacemanagerengine.cpp │ │ ├── qplacemanagerengine.h │ │ ├── qplacemanagerengine_p.h │ │ ├── qplacematchreply.cpp │ │ ├── qplacematchreply.h │ │ ├── qplacematchrequest.cpp │ │ ├── qplacematchrequest.h │ │ ├── qplaceproposedsearchresult.cpp │ │ ├── qplaceproposedsearchresult.h │ │ ├── qplaceproposedsearchresult_p.h │ │ ├── qplaceratings.cpp │ │ ├── qplaceratings.h │ │ ├── qplaceratings_p.h │ │ ├── qplacereply.cpp │ │ ├── qplacereply.h │ │ ├── qplacereply_p.h │ │ ├── qplaceresult.cpp │ │ ├── qplaceresult.h │ │ ├── qplaceresult_p.h │ │ ├── qplacesearchreply.cpp │ │ ├── qplacesearchreply.h │ │ ├── qplacesearchrequest.cpp │ │ ├── qplacesearchrequest.h │ │ ├── qplacesearchrequest_p.h │ │ ├── qplacesearchresult.cpp │ │ ├── qplacesearchresult.h │ │ ├── qplacesearchresult_p.h │ │ ├── qplacesearchsuggestionreply.cpp │ │ ├── qplacesearchsuggestionreply.h │ │ ├── qplacesupplier.cpp │ │ ├── qplacesupplier.h │ │ ├── qplacesupplier_p.h │ │ ├── qplaceuser.cpp │ │ ├── qplaceuser.h │ │ ├── qplaceuser_p.h │ │ └── unsupportedreplies_p.h │ ├── qlocation.cpp │ ├── qlocation.h │ ├── qlocationglobal.h │ ├── qlocationglobal_p.h │ └── quickmapitems │ │ ├── qdeclarativecirclemapitem.cpp │ │ ├── qdeclarativecirclemapitem_p.h │ │ ├── qdeclarativecirclemapitem_p_p.h │ │ ├── qdeclarativegeomap.cpp │ │ ├── qdeclarativegeomap_p.h │ │ ├── qdeclarativegeomapcopyrightsnotice.cpp │ │ ├── qdeclarativegeomapcopyrightsnotice_p.h │ │ ├── qdeclarativegeomapitembase.cpp │ │ ├── qdeclarativegeomapitembase_p.h │ │ ├── qdeclarativegeomapitemgroup.cpp │ │ ├── qdeclarativegeomapitemgroup_p.h │ │ ├── qdeclarativegeomapitemtransitionmanager.cpp │ │ ├── qdeclarativegeomapitemtransitionmanager_p.h │ │ ├── qdeclarativegeomapitemutils.cpp │ │ ├── qdeclarativegeomapitemutils_p.h │ │ ├── qdeclarativegeomapitemview.cpp │ │ ├── qdeclarativegeomapitemview_p.h │ │ ├── qdeclarativegeomapquickitem.cpp │ │ ├── qdeclarativegeomapquickitem_p.h │ │ ├── qdeclarativepolygonmapitem.cpp │ │ ├── qdeclarativepolygonmapitem_p.h │ │ ├── qdeclarativepolygonmapitem_p_p.h │ │ ├── qdeclarativepolylinemapitem.cpp │ │ ├── qdeclarativepolylinemapitem_p.h │ │ ├── qdeclarativepolylinemapitem_p_p.h │ │ ├── qdeclarativerectanglemapitem.cpp │ │ ├── qdeclarativerectanglemapitem_p.h │ │ ├── qdeclarativerectanglemapitem_p_p.h │ │ ├── qdeclarativeroutemapitem.cpp │ │ ├── qdeclarativeroutemapitem_p.h │ │ ├── qgeomapitemgeometry.cpp │ │ └── qgeomapitemgeometry_p.h └── plugins │ ├── CMakeLists.txt │ └── geoservices │ ├── CMakeLists.txt │ ├── esri │ ├── CMakeLists.txt │ ├── esri.qrc │ ├── esri_plugin.json │ ├── geocodereply_esri.cpp │ ├── geocodereply_esri.h │ ├── geocodingmanagerengine_esri.cpp │ ├── geocodingmanagerengine_esri.h │ ├── geomapsource.cpp │ ├── geomapsource.h │ ├── georoutejsonparser_esri.cpp │ ├── georoutejsonparser_esri.h │ ├── georoutereply_esri.cpp │ ├── georoutereply_esri.h │ ├── georoutingmanagerengine_esri.cpp │ ├── georoutingmanagerengine_esri.h │ ├── geoserviceproviderfactory_esri.cpp │ ├── geoserviceproviderfactory_esri.h │ ├── geotiledmap_esri.cpp │ ├── geotiledmap_esri.h │ ├── geotiledmappingmanagerengine_esri.cpp │ ├── geotiledmappingmanagerengine_esri.h │ ├── geotiledmapreply_esri.cpp │ ├── geotiledmapreply_esri.h │ ├── geotilefetcher_esri.cpp │ ├── geotilefetcher_esri.h │ ├── maps.json │ ├── placecategoriesreply_esri.cpp │ ├── placecategoriesreply_esri.h │ ├── placemanagerengine_esri.cpp │ ├── placemanagerengine_esri.h │ ├── placesearchreply_esri.cpp │ └── placesearchreply_esri.h │ ├── itemsoverlay │ ├── CMakeLists.txt │ ├── itemsoverlay_plugin.json │ ├── qgeomapitemsoverlay.cpp │ ├── qgeomapitemsoverlay.h │ ├── qgeomappingmanagerengineitemsoverlay.cpp │ ├── qgeomappingmanagerengineitemsoverlay.h │ ├── qgeoserviceproviderpluginitemsoverlay.cpp │ └── qgeoserviceproviderpluginitemsoverlay.h │ ├── mapbox │ ├── CMakeLists.txt │ ├── maki-4.0.0 │ │ ├── LICENSE.txt │ │ ├── aerialway.svg │ │ ├── airfield.svg │ │ ├── airport.svg │ │ ├── alcohol-shop.svg │ │ ├── america-football.svg │ │ ├── amusement-park.svg │ │ ├── aquarium.svg │ │ ├── art-gallery.svg │ │ ├── attraction.svg │ │ ├── bakery.svg │ │ ├── bank.svg │ │ ├── bar.svg │ │ ├── barrier.svg │ │ ├── baseball.svg │ │ ├── basketball.svg │ │ ├── bbq.svg │ │ ├── beer.svg │ │ ├── bicycle-share.svg │ │ ├── bicycle.svg │ │ ├── blood-bank.svg │ │ ├── buddhism.svg │ │ ├── building-alt1.svg │ │ ├── building.svg │ │ ├── bus.svg │ │ ├── cafe.svg │ │ ├── campsite.svg │ │ ├── car.svg │ │ ├── castle.svg │ │ ├── cemetery.svg │ │ ├── cinema.svg │ │ ├── circle-stroked.svg │ │ ├── circle.svg │ │ ├── city.svg │ │ ├── clothing-store.svg │ │ ├── college.svg │ │ ├── commercial.svg │ │ ├── cricket.svg │ │ ├── cross.svg │ │ ├── dam.svg │ │ ├── danger.svg │ │ ├── defibrillator.svg │ │ ├── dentist.svg │ │ ├── doctor.svg │ │ ├── dog-park.svg │ │ ├── drinking-water.svg │ │ ├── embassy.svg │ │ ├── emergency-phone.svg │ │ ├── entrance-alt1.svg │ │ ├── entrance.svg │ │ ├── farm.svg │ │ ├── fast-food.svg │ │ ├── fence.svg │ │ ├── ferry.svg │ │ ├── fire-station.svg │ │ ├── florist.svg │ │ ├── fuel.svg │ │ ├── gaming.svg │ │ ├── garden-center.svg │ │ ├── garden.svg │ │ ├── gift.svg │ │ ├── golf.svg │ │ ├── grocery.svg │ │ ├── hairdresser.svg │ │ ├── harbor.svg │ │ ├── heart.svg │ │ ├── heliport.svg │ │ ├── home.svg │ │ ├── horse-riding.svg │ │ ├── hospital.svg │ │ ├── ice-cream.svg │ │ ├── industry.svg │ │ ├── information.svg │ │ ├── karaoke.svg │ │ ├── landmark.svg │ │ ├── landuse.svg │ │ ├── laundry.svg │ │ ├── library.svg │ │ ├── lighthouse.svg │ │ ├── lodging.svg │ │ ├── logging.svg │ │ ├── marker-stroked.svg │ │ ├── marker.svg │ │ ├── mobile-phone.svg │ │ ├── monument.svg │ │ ├── mountain.svg │ │ ├── museum.svg │ │ ├── music.svg │ │ ├── natural.svg │ │ ├── park-alt1.svg │ │ ├── park.svg │ │ ├── parking-garage.svg │ │ ├── parking.svg │ │ ├── pharmacy.svg │ │ ├── picnic-site.svg │ │ ├── pitch.svg │ │ ├── place-of-worship.svg │ │ ├── playground.svg │ │ ├── police.svg │ │ ├── post.svg │ │ ├── prison.svg │ │ ├── rail-light.svg │ │ ├── rail-metro.svg │ │ ├── rail.svg │ │ ├── ranger-station.svg │ │ ├── recycling.svg │ │ ├── religious-christian.svg │ │ ├── religious-jewish.svg │ │ ├── religious-muslim.svg │ │ ├── residential-community.svg │ │ ├── restaurant.svg │ │ ├── roadblock.svg │ │ ├── rocket.svg │ │ ├── school.svg │ │ ├── scooter.svg │ │ ├── shelter.svg │ │ ├── shop.svg │ │ ├── skiing.svg │ │ ├── slaughterhouse.svg │ │ ├── snowmobile.svg │ │ ├── soccer.svg │ │ ├── square-stroked.svg │ │ ├── square.svg │ │ ├── stadium.svg │ │ ├── star-stroked.svg │ │ ├── star.svg │ │ ├── suitcase.svg │ │ ├── sushi.svg │ │ ├── swimming.svg │ │ ├── teahouse.svg │ │ ├── telephone.svg │ │ ├── tennis.svg │ │ ├── theatre.svg │ │ ├── toilet.svg │ │ ├── town-hall.svg │ │ ├── town.svg │ │ ├── triangle-stroked.svg │ │ ├── triangle.svg │ │ ├── veterinary.svg │ │ ├── village.svg │ │ ├── volcano.svg │ │ ├── warehouse.svg │ │ ├── waste-basket.svg │ │ ├── water.svg │ │ ├── wetland.svg │ │ ├── wheelchair.svg │ │ └── zoo.svg │ ├── mapbox.qrc │ ├── mapbox_plugin.json │ ├── qgeocodereplymapbox.cpp │ ├── qgeocodereplymapbox.h │ ├── qgeocodingmanagerenginemapbox.cpp │ ├── qgeocodingmanagerenginemapbox.h │ ├── qgeofiletilecachemapbox.cpp │ ├── qgeofiletilecachemapbox.h │ ├── qgeomapreplymapbox.cpp │ ├── qgeomapreplymapbox.h │ ├── qgeoroutereplymapbox.cpp │ ├── qgeoroutereplymapbox.h │ ├── qgeoroutingmanagerenginemapbox.cpp │ ├── qgeoroutingmanagerenginemapbox.h │ ├── qgeoserviceproviderpluginmapbox.cpp │ ├── qgeoserviceproviderpluginmapbox.h │ ├── qgeotiledmappingmanagerenginemapbox.cpp │ ├── qgeotiledmappingmanagerenginemapbox.h │ ├── qgeotilefetchermapbox.cpp │ ├── qgeotilefetchermapbox.h │ ├── qmapboxcommon.cpp │ ├── qmapboxcommon.h │ ├── qplacecategoriesreplymapbox.cpp │ ├── qplacecategoriesreplymapbox.h │ ├── qplacemanagerenginemapbox.cpp │ ├── qplacemanagerenginemapbox.h │ ├── qplacesearchreplymapbox.cpp │ ├── qplacesearchreplymapbox.h │ ├── qplacesearchsuggestionreplymapbox.cpp │ └── qplacesearchsuggestionreplymapbox.h │ ├── mapboxgl │ ├── logo.png │ ├── mapboxgl.qrc │ ├── mapboxgl_plugin.json │ ├── qgeomapmapboxgl.cpp │ ├── qgeomapmapboxgl.h │ ├── qgeomapmapboxgl_p.h │ ├── qgeomappingmanagerenginemapboxgl.cpp │ ├── qgeomappingmanagerenginemapboxgl.h │ ├── qgeoserviceproviderpluginmapboxgl.cpp │ ├── qgeoserviceproviderpluginmapboxgl.h │ ├── qmapboxglstylechange.cpp │ ├── qmapboxglstylechange_p.h │ ├── qsgmapboxglnode.cpp │ └── qsgmapboxglnode.h │ ├── nokia │ ├── CMakeLists.txt │ ├── logo.png │ ├── marclanguagecodes.h │ ├── nokia.qrc │ ├── nokia_plugin.json │ ├── placesv2 │ │ ├── jsonparserhelpers.cpp │ │ ├── jsonparserhelpers.h │ │ ├── placesv2.pri │ │ ├── qplacecategoriesreplyhere.cpp │ │ ├── qplacecategoriesreplyhere.h │ │ ├── qplacecontentreplyimpl.cpp │ │ ├── qplacecontentreplyimpl.h │ │ ├── qplacedetailsreplyimpl.cpp │ │ ├── qplacedetailsreplyimpl.h │ │ ├── qplacesearchreplyhere.cpp │ │ ├── qplacesearchreplyhere.h │ │ ├── qplacesearchsuggestionreplyimpl.cpp │ │ └── qplacesearchsuggestionreplyimpl.h │ ├── qgeocodejsonparser.cpp │ ├── qgeocodejsonparser.h │ ├── qgeocodereply_nokia.cpp │ ├── qgeocodereply_nokia.h │ ├── qgeocodingmanagerengine_nokia.cpp │ ├── qgeocodingmanagerengine_nokia.h │ ├── qgeoerror_messages.cpp │ ├── qgeoerror_messages.h │ ├── qgeofiletilecachenokia.cpp │ ├── qgeofiletilecachenokia.h │ ├── qgeointrinsicnetworkaccessmanager.cpp │ ├── qgeointrinsicnetworkaccessmanager.h │ ├── qgeomapreply_nokia.cpp │ ├── qgeomapreply_nokia.h │ ├── qgeomapversion.cpp │ ├── qgeomapversion.h │ ├── qgeonetworkaccessmanager.h │ ├── qgeoroutereply_nokia.cpp │ ├── qgeoroutereply_nokia.h │ ├── qgeoroutexmlparser.cpp │ ├── qgeoroutexmlparser.h │ ├── qgeoroutingmanagerengine_nokia.cpp │ ├── qgeoroutingmanagerengine_nokia.h │ ├── qgeoserviceproviderplugin_nokia.cpp │ ├── qgeoserviceproviderplugin_nokia.h │ ├── qgeotiledmap_nokia.cpp │ ├── qgeotiledmap_nokia.h │ ├── qgeotiledmappingmanagerengine_nokia.cpp │ ├── qgeotiledmappingmanagerengine_nokia.h │ ├── qgeotilefetcher_nokia.cpp │ ├── qgeotilefetcher_nokia.h │ ├── qgeouriprovider.cpp │ ├── qgeouriprovider.h │ ├── qplacemanagerengine_nokiav2.cpp │ ├── qplacemanagerengine_nokiav2.h │ ├── uri_constants.cpp │ └── uri_constants.h │ └── osm │ ├── CMakeLists.txt │ ├── osm_plugin.json │ ├── providers │ └── 5.8 │ │ ├── cycle │ │ ├── hiking │ │ ├── night-transit │ │ ├── satellite │ │ ├── street │ │ ├── street-hires │ │ ├── terrain │ │ └── transit │ ├── qgeocodereplyosm.cpp │ ├── qgeocodereplyosm.h │ ├── qgeocodingmanagerengineosm.cpp │ ├── qgeocodingmanagerengineosm.h │ ├── qgeofiletilecacheosm.cpp │ ├── qgeofiletilecacheosm.h │ ├── qgeomapreplyosm.cpp │ ├── qgeomapreplyosm.h │ ├── qgeorouteparserosrmv4.cpp │ ├── qgeorouteparserosrmv4_p.h │ ├── qgeoroutereplyosm.cpp │ ├── qgeoroutereplyosm.h │ ├── qgeoroutingmanagerengineosm.cpp │ ├── qgeoroutingmanagerengineosm.h │ ├── qgeoserviceproviderpluginosm.cpp │ ├── qgeoserviceproviderpluginosm.h │ ├── qgeotiledmaposm.cpp │ ├── qgeotiledmaposm.h │ ├── qgeotiledmappingmanagerengineosm.cpp │ ├── qgeotiledmappingmanagerengineosm.h │ ├── qgeotilefetcherosm.cpp │ ├── qgeotilefetcherosm.h │ ├── qgeotileproviderosm.cpp │ ├── qgeotileproviderosm.h │ ├── qplacecategoriesreplyosm.cpp │ ├── qplacecategoriesreplyosm.h │ ├── qplacemanagerengineosm.cpp │ ├── qplacemanagerengineosm.h │ ├── qplacesearchreplyosm.cpp │ └── qplacesearchreplyosm.h └── tests ├── CMakeLists.txt ├── auto ├── CMakeLists.txt ├── declarative_location_core │ ├── BLACKLIST │ ├── CMakeLists.txt │ ├── main.cpp │ ├── tst_category.qml │ ├── tst_categorymodel.qml │ ├── tst_contactdetail.qml │ ├── tst_editorialmodel.qml │ ├── tst_geocoding.qml │ ├── tst_imagemodel.qml │ ├── tst_place.qml │ ├── tst_placeattribute.qml │ ├── tst_placeicon.qml │ ├── tst_placesearchmodel.qml │ ├── tst_placesearchsuggestionmodel.qml │ ├── tst_plugin.qml │ ├── tst_plugin_error.qml │ ├── tst_ratings.qml │ ├── tst_reviewmodel.qml │ ├── tst_routing.qml │ ├── tst_supplier.qml │ ├── tst_user.qml │ └── utils.js ├── declarative_mappolyline │ ├── CMakeLists.txt │ ├── main.cpp │ └── tst_declarative_mappolyline.qml ├── declarative_ui │ ├── BLACKLIST │ ├── CMakeLists.txt │ ├── Delegate.qml │ ├── ItemGroup.qml │ ├── Model.qml │ ├── main.cpp │ ├── tst_map.qml │ ├── tst_map_coordinateanimation.qml │ ├── tst_map_error.qml │ ├── tst_map_flick.qml │ ├── tst_map_item.qml │ ├── tst_map_item_details.qml │ ├── tst_map_item_fit_viewport.qml │ ├── tst_map_itemview.qml │ ├── tst_map_keepgrab.qml │ ├── tst_map_maptype.qml │ ├── tst_map_mouse.qml │ └── tst_map_pinch.qml.QTBUG-47970 ├── declarativetestplugin │ ├── CMakeLists.txt │ ├── locationtest.cpp │ ├── qdeclarativelocationtestmodel.cpp │ ├── qdeclarativelocationtestmodel_p.h │ ├── qdeclarativepinchgenerator.cpp │ ├── qdeclarativepinchgenerator_p.h │ ├── qmldir │ └── testhelper.h ├── geotestplugin │ ├── CMakeLists.txt │ ├── geotestplugin.json │ ├── place_data.json │ ├── qgeocodingmanagerengine_test.h │ ├── qgeomappingmanagerengine_test.h │ ├── qgeoroutingmanagerengine_test.h │ ├── qgeoserviceproviderplugin_test.cpp │ ├── qgeoserviceproviderplugin_test.h │ ├── qgeotiledmap_test.cpp │ ├── qgeotiledmap_test.h │ ├── qgeotiledmappingmanagerengine_test.h │ ├── qgeotilefetcher_test.h │ ├── qplacemanagerengine_test.h │ └── testdata.qrc ├── maptype │ ├── CMakeLists.txt │ └── tst_maptype.cpp ├── nokia_services │ ├── CMakeLists.txt │ ├── places_semiauto │ │ ├── CMakeLists.txt │ │ └── tst_places.cpp │ └── routing │ │ ├── CMakeLists.txt │ │ ├── error-no-route.xml │ │ ├── invalid-response-half-way-through.xml │ │ ├── invalid-response-no-calculateroute-tag.xml │ │ ├── invalid-response-no-route-tag.xml │ │ ├── invalid-response-trash.xml │ │ ├── littered-with-new-tags.xml │ │ ├── multiple-routes-in-response.xml │ │ ├── optim-fastest.xml │ │ ├── optim-shortest.xml │ │ ├── travelmode-car.xml │ │ ├── travelmode-pedestrian.xml │ │ ├── travelmode-public-transport.xml │ │ └── tst_routing.cpp ├── placemanager_utils │ ├── placemanager_utils.cpp │ └── placemanager_utils.h ├── placesplugin_unsupported │ ├── CMakeLists.txt │ ├── placesplugin.json │ ├── qgeoserviceproviderplugin_test.cpp │ └── qgeoserviceproviderplugin_test.h ├── qgeocameracapabilities │ ├── CMakeLists.txt │ └── tst_qgeocameracapabilities.cpp ├── qgeocameradata │ ├── CMakeLists.txt │ └── tst_qgeocameradata.cpp ├── qgeocameratiles │ ├── CMakeLists.txt │ └── tst_qgeocameratiles.cpp ├── qgeocodereply │ ├── CMakeLists.txt │ ├── tst_qgeocodereply.cpp │ └── tst_qgeocodereply.h ├── qgeocodingmanager │ ├── CMakeLists.txt │ ├── tst_qgeocodingmanager.cpp │ └── tst_qgeocodingmanager.h ├── qgeocodingmanagerplugins │ ├── CMakeLists.txt │ ├── geocoding_plugin.json │ ├── qgeocodingmanagerengine_test.h │ ├── qgeoserviceproviderplugin_test.cpp │ └── qgeoserviceproviderplugin_test.h ├── qgeojson │ ├── 01-point.json │ ├── 02-linestring.json │ ├── 03-multipoint.json │ ├── 04-polygon.json │ ├── 05-multilinestring.json │ ├── 06-multipolygon.json │ ├── 07-geometrycollection.json │ ├── 08-feature.json │ ├── 09-featurecollection.json │ ├── 10-countries.json │ ├── 11-full.json │ ├── CMakeLists.txt │ ├── LICENSE.10-countries │ └── tst_qgeojson.cpp ├── qgeomaneuver │ ├── CMakeLists.txt │ ├── tst_qgeomaneuver.cpp │ └── tst_qgeomaneuver.h ├── qgeoroute │ ├── CMakeLists.txt │ ├── tst_qgeoroute.cpp │ └── tst_qgeoroute.h ├── qgeoroutereply │ ├── CMakeLists.txt │ ├── tst_qgeoroutereply.cpp │ └── tst_qgeoroutereply.h ├── qgeorouterequest │ ├── CMakeLists.txt │ ├── tst_qgeorouterequest.cpp │ └── tst_qgeorouterequest.h ├── qgeoroutesegment │ ├── CMakeLists.txt │ ├── tst_qgeoroutesegment.cpp │ └── tst_qgeoroutesegment.h ├── qgeoroutexmlparser │ ├── CMakeLists.txt │ ├── fixtures.qrc │ ├── route1.xml │ ├── route2.xml │ └── tst_qgeoroutexmlparser.cpp ├── qgeoroutingmanager │ ├── CMakeLists.txt │ ├── tst_qgeoroutingmanager.cpp │ └── tst_qgeoroutingmanager.h ├── qgeoroutingmanagerplugins │ ├── CMakeLists.txt │ ├── qgeoroutingmanagerengine_test.h │ ├── qgeoserviceproviderplugin_test.cpp │ ├── qgeoserviceproviderplugin_test.h │ └── routing_plugin.json ├── qgeoserviceprovider │ ├── CMakeLists.txt │ └── tst_qgeoserviceprovider.cpp ├── qgeotiledmap │ ├── BLACKLIST │ ├── CMakeLists.txt │ └── tst_qgeotiledmap.cpp ├── qgeotiledmapscene │ ├── CMakeLists.txt │ └── tst_qgeotiledmapscene.cpp ├── qgeotilespec │ ├── CMakeLists.txt │ └── tst_qgeotilespec.cpp ├── qmlinterface │ ├── CMakeLists.txt │ ├── data │ │ ├── TestAddress.qml │ │ ├── TestCategory.qml │ │ ├── TestContactDetail.qml │ │ ├── TestIcon.qml │ │ ├── TestLocation.qml │ │ ├── TestPlace.qml │ │ ├── TestPlaceAttribute.qml │ │ ├── TestRatings.qml │ │ ├── TestSupplier.qml │ │ └── TestUser.qml │ └── tst_qmlinterface.cpp ├── qplace │ ├── CMakeLists.txt │ └── tst_qplace.cpp ├── qplaceattribute │ ├── CMakeLists.txt │ └── tst_qplaceattribute.cpp ├── qplacecategory │ ├── CMakeLists.txt │ └── tst_qplacecategory.cpp ├── qplacecontactdetail │ ├── CMakeLists.txt │ └── tst_qplacecontactdetail.cpp ├── qplacecontentrequest │ ├── CMakeLists.txt │ └── tst_qplacecontentrequest.cpp ├── qplacedetailsreply │ ├── CMakeLists.txt │ └── tst_qplacedetailsreply.cpp ├── qplacemanager │ ├── CMakeLists.txt │ └── tst_qplacemanager.cpp ├── qplacemanager_nokia │ ├── CMakeLists.txt │ └── tst_qplacemanager_nokia.cpp ├── qplacemanager_unsupported │ ├── CMakeLists.txt │ └── tst_qplacemanager_unsupported.cpp ├── qplacematchreply │ ├── CMakeLists.txt │ └── tst_qplacematchreply.cpp ├── qplacematchrequest │ ├── CMakeLists.txt │ └── tst_qplacematchrequest.cpp ├── qplaceratings │ ├── CMakeLists.txt │ └── tst_qplaceratings.cpp ├── qplacereply │ ├── CMakeLists.txt │ └── tst_qplacereply.cpp ├── qplaceresult │ ├── CMakeLists.txt │ └── tst_qplaceresult.cpp ├── qplacesearchreply │ ├── CMakeLists.txt │ └── tst_qplacesearchreply.cpp ├── qplacesearchrequest │ ├── CMakeLists.txt │ └── tst_qplacesearchrequest.cpp ├── qplacesearchresult │ ├── CMakeLists.txt │ └── tst_qplacesearchresult.cpp ├── qplacesearchsuggestionreply │ ├── CMakeLists.txt │ └── tst_qplacesearchsuggestionreply.cpp ├── qplacesupplier │ ├── CMakeLists.txt │ └── tst_qplacesupplier.cpp ├── qplaceuser │ ├── CMakeLists.txt │ └── tst_qplaceuser.cpp ├── qproposedsearchresult │ ├── CMakeLists.txt │ └── tst_qproposedsearchresult.cpp └── utils │ └── qlocationtestutils_p.h ├── baseline ├── CMakeLists.txt └── mapitems │ ├── CMakeLists.txt │ ├── data │ ├── circle │ │ ├── circle_concentric1.qml │ │ └── circle_grid1.qml │ ├── circle_greatCircle │ │ ├── circle_comparison.qml │ │ ├── circle_concentric1.qml │ │ ├── circle_concentric2.qml │ │ ├── circle_concentric3.qml │ │ ├── circle_concentric4.qml │ │ ├── circle_grid1.qml │ │ ├── circle_grid2.qml │ │ ├── circle_grid3.qml │ │ └── circle_poles.qml │ ├── polygon │ │ ├── include │ │ │ ├── GeometryAfrica.qml │ │ │ ├── GeometryAntarctica.qml │ │ │ └── REUSE.toml │ │ ├── polygon_africa1.qml │ │ ├── polygon_africa1_tilt.qml │ │ ├── polygon_africa1_tilt_bear.qml │ │ ├── polygon_africa2.qml │ │ ├── polygon_antarctica1.qml │ │ ├── polygon_antarctica2.qml │ │ ├── polygon_antarctica3.qml │ │ ├── polygon_hole.qml │ │ ├── polygon_hole_bear.qml │ │ └── polygon_hole_tilt.qml │ ├── polygon_greatCircle │ │ ├── polygon_hole.qml │ │ ├── polygon_poles.qml │ │ └── polygon_poles2.qml │ ├── polyline │ │ ├── polyline_dateborder.qml │ │ ├── polyline_dateborder2.qml │ │ ├── polyline_local.qml │ │ └── polyline_poles.qml │ ├── polyline_greatCircle │ │ ├── polyline_dateborder.qml │ │ └── polyline_dateborder2.qml │ ├── rectangle │ │ ├── rectangle_concentric1.qml │ │ ├── rectangle_concentric2.qml │ │ ├── rectangle_concentric3.qml │ │ ├── rectangle_grid1.qml │ │ └── rectangle_grid2.qml │ └── rectangle_greatCircle │ │ └── rectangle_grid1.qml │ └── tst_baseline_mapitems.cpp ├── benchmarks ├── CMakeLists.txt └── mapitems_framecount │ ├── CMakeLists.txt │ ├── circles.qml │ ├── main.cpp │ ├── polygons.qml │ ├── polylines.qml │ ├── qml.qrc │ └── rectangles.qml └── manual ├── CMakeLists.txt ├── mapitems_backends ├── CMakeLists.txt ├── main.cpp ├── main.qml └── qml.qrc ├── mapobjects_tester ├── CMakeLists.txt ├── main.cpp ├── main.qml └── qml.qrc └── mappolyline_tester ├── CMakeLists.txt ├── LongPolyline.qml ├── main.cpp ├── main.qml └── qml.qrc /.cmake.conf: -------------------------------------------------------------------------------- 1 | set(QT_REPO_MODULE_VERSION "6.11.0") 2 | set(QT_REPO_MODULE_PRERELEASE_VERSION_SEGMENT "alpha1") 3 | 4 | set(QT_EXTRA_INTERNAL_TARGET_DEFINES 5 | "QT_NO_CONTEXTLESS_CONNECT=1" 6 | "QT_NO_FOREACH=1" 7 | "QT_NO_QASCONST=1" 8 | "QT_NO_URL_CAST_FROM_STRING=1" 9 | ) 10 | -------------------------------------------------------------------------------- /.gitreview: -------------------------------------------------------------------------------- 1 | [gerrit] 2 | host=codereview.qt-project.org 3 | project=qt/qtlocation 4 | defaultbranch=dev 5 | -------------------------------------------------------------------------------- /.tag: -------------------------------------------------------------------------------- 1 | 208e42ed8cee577fbbc54e602931bf7454421a02 2 | -------------------------------------------------------------------------------- /LICENSES/LicenseRef-Qt-Commercial.txt: -------------------------------------------------------------------------------- 1 | Licensees holding valid commercial Qt licenses may use this software in 2 | accordance with the the terms contained in a written agreement between 3 | you and The Qt Company. Alternatively, the terms and conditions that were 4 | accepted by the licensee when buying and/or downloading the 5 | software do apply. 6 | 7 | For the latest licensing terms and conditions, see https://www.qt.io/terms-conditions. 8 | For further information use the contact form at https://www.qt.io/contact-us. 9 | -------------------------------------------------------------------------------- /coin/module_config.yaml: -------------------------------------------------------------------------------- 1 | version: 2 2 | accept_configuration: 3 | condition: property 4 | property: features 5 | not_contains_value: Disable 6 | 7 | instructions: 8 | Build: 9 | - type: EnvironmentVariable 10 | variableName: VERIFY_SOURCE_SBOM 11 | variableValue: "ON" 12 | - !include "{{qt/qtbase}}/coin_module_build_template_v2.yaml" 13 | 14 | Test: 15 | - !include "{{qt/qtbase}}/coin_module_test_template_v3.yaml" 16 | - !include "{{qt/qtbase}}/coin_module_test_docs.yaml" 17 | -------------------------------------------------------------------------------- /configure.json: -------------------------------------------------------------------------------- 1 | { 2 | "subconfigs": [ 3 | "src/location" 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /dependencies.yaml: -------------------------------------------------------------------------------- 1 | dependencies: 2 | ../qtbase: 3 | ref: 4fd88011fa7975ce64d5648698a234f85bac359c 4 | required: true 5 | ../qtdeclarative: 6 | ref: fc162d455eedbb68f22f302dee45f7faf4146dd0 7 | required: true 8 | ../qtpositioning: 9 | ref: 393a3448c91e6e65752e337bcc41118a80e8cfa0 10 | required: true 11 | -------------------------------------------------------------------------------- /dist/REUSE.toml: -------------------------------------------------------------------------------- 1 | version = 1 2 | 3 | [[annotations]] 4 | path = ["*"] 5 | precedence = "override" 6 | comment = "Licensed as documentation." 7 | SPDX-FileCopyrightText = "Copyright (C) The Qt Company Ltd." 8 | SPDX-License-Identifier = "LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only" 9 | -------------------------------------------------------------------------------- /dist/changes-5.12.4: -------------------------------------------------------------------------------- 1 | Qt 5.12.4 is a bug-fix release. It maintains both forward and backward 2 | compatibility (source and binary) with Qt 5.12.0 through 5.12.3. 3 | 4 | For more details, refer to the online documentation included in this 5 | distribution. The documentation is also available online: 6 | 7 | https://doc.qt.io/qt-5/index.html 8 | 9 | The Qt version 5.12 series is binary compatible with the 5.11.x series. 10 | Applications compiled for 5.11 will continue to run with 5.12. 11 | 12 | Some of the changes listed in this file include issue tracking numbers 13 | corresponding to tasks in the Qt Bug Tracker: 14 | 15 | https://bugreports.qt.io/ 16 | 17 | Each of these identifiers can be entered in the bug tracker to obtain more 18 | information about a particular change. 19 | 20 | - This release contains only minor code improvements. 21 | -------------------------------------------------------------------------------- /dist/changes-5.12.5: -------------------------------------------------------------------------------- 1 | Qt 5.12.5 is a bug-fix release. It maintains both forward and backward 2 | compatibility (source and binary) with Qt 5.12.0 through 5.12.4. 3 | 4 | For more details, refer to the online documentation included in this 5 | distribution. The documentation is also available online: 6 | 7 | https://doc.qt.io/qt-5/index.html 8 | 9 | The Qt version 5.12 series is binary compatible with the 5.11.x series. 10 | Applications compiled for 5.11 will continue to run with 5.12. 11 | 12 | Some of the changes listed in this file include issue tracking numbers 13 | corresponding to tasks in the Qt Bug Tracker: 14 | 15 | https://bugreports.qt.io/ 16 | 17 | Each of these identifiers can be entered in the bug tracker to obtain more 18 | information about a particular change. 19 | 20 | - This release contains only minor code improvements. 21 | -------------------------------------------------------------------------------- /dist/changes-5.13.1: -------------------------------------------------------------------------------- 1 | Qt 5.13.1 is a bug-fix release. It maintains both forward and backward 2 | compatibility (source and binary) with Qt 5.13.0. 3 | 4 | For more details, refer to the online documentation included in this 5 | distribution. The documentation is also available online: 6 | 7 | https://doc.qt.io/qt-5/index.html 8 | 9 | The Qt version 5.13 series is binary compatible with the 5.12.x series. 10 | Applications compiled for 5.12 will continue to run with 5.13. 11 | 12 | Some of the changes listed in this file include issue tracking numbers 13 | corresponding to tasks in the Qt Bug Tracker: 14 | 15 | https://bugreports.qt.io/ 16 | 17 | Each of these identifiers can be entered in the bug tracker to obtain more 18 | information about a particular change. 19 | 20 | - This release contains only minor code improvements. 21 | -------------------------------------------------------------------------------- /dist/changes-5.13.2: -------------------------------------------------------------------------------- 1 | Qt 5.13.2 is a bug-fix release. It maintains both forward and backward 2 | compatibility (source and binary) with Qt 5.13.0 through 5.13.1. 3 | 4 | For more details, refer to the online documentation included in this 5 | distribution. The documentation is also available online: 6 | 7 | https://doc.qt.io/qt-5/index.html 8 | 9 | The Qt version 5.13 series is binary compatible with the 5.12.x series. 10 | Applications compiled for 5.12 will continue to run with 5.13. 11 | 12 | Some of the changes listed in this file include issue tracking numbers 13 | corresponding to tasks in the Qt Bug Tracker: 14 | 15 | https://bugreports.qt.io/ 16 | 17 | Each of these identifiers can be entered in the bug tracker to obtain more 18 | information about a particular change. 19 | 20 | - This release contains only minor code improvements. 21 | -------------------------------------------------------------------------------- /dist/changes-5.14.1: -------------------------------------------------------------------------------- 1 | Qt 5.14.1 is a bug-fix release. It maintains both forward and backward 2 | compatibility (source and binary) with Qt 5.14.0. 3 | 4 | For more details, refer to the online documentation included in this 5 | distribution. The documentation is also available online: 6 | 7 | https://doc.qt.io/qt-5/index.html 8 | 9 | The Qt version 5.14 series is binary compatible with the 5.13.x series. 10 | Applications compiled for 5.13 will continue to run with 5.14. 11 | 12 | Some of the changes listed in this file include issue tracking numbers 13 | corresponding to tasks in the Qt Bug Tracker: 14 | 15 | https://bugreports.qt.io/ 16 | 17 | Each of these identifiers can be entered in the bug tracker to obtain more 18 | information about a particular change. 19 | 20 | - This release contains only minor code improvements. 21 | -------------------------------------------------------------------------------- /dist/changes-5.14.2: -------------------------------------------------------------------------------- 1 | Qt 5.14.2 is a bug-fix release. It maintains both forward and backward 2 | compatibility (source and binary) with Qt 5.14.0 through 5.14.1. 3 | 4 | For more details, refer to the online documentation included in this 5 | distribution. The documentation is also available online: 6 | 7 | https://doc.qt.io/qt-5/index.html 8 | 9 | The Qt version 5.14 series is binary compatible with the 5.13.x series. 10 | Applications compiled for 5.13 will continue to run with 5.14. 11 | 12 | Some of the changes listed in this file include issue tracking numbers 13 | corresponding to tasks in the Qt Bug Tracker: 14 | 15 | https://bugreports.qt.io/ 16 | 17 | Each of these identifiers can be entered in the bug tracker to obtain more 18 | information about a particular change. 19 | 20 | - This release contains only minor code improvements. 21 | -------------------------------------------------------------------------------- /dist/changes-5.15.1: -------------------------------------------------------------------------------- 1 | Qt 5.15.1 is a bug-fix release. It maintains both forward and backward 2 | compatibility (source and binary) with Qt 5.15.0. 3 | 4 | For more details, refer to the online documentation included in this 5 | distribution. The documentation is also available online: 6 | 7 | https://doc.qt.io/qt-5/index.html 8 | 9 | The Qt version 5.15 series is binary compatible with the 5.14.x series. 10 | Applications compiled for 5.14 will continue to run with 5.15. 11 | 12 | Some of the changes listed in this file include issue tracking numbers 13 | corresponding to tasks in the Qt Bug Tracker: 14 | 15 | https://bugreports.qt.io/ 16 | 17 | Each of these identifiers can be entered in the bug tracker to obtain more 18 | information about a particular change. 19 | 20 | - This release contains only minor code improvements. 21 | -------------------------------------------------------------------------------- /examples/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Generated from examples.pro. 2 | 3 | qt_examples_build_begin(EXTERNAL_BUILD) 4 | if(TARGET Qt::Location) 5 | add_subdirectory(location) 6 | endif() 7 | qt_examples_build_end() 8 | -------------------------------------------------------------------------------- /examples/location/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Generated from location.pro. 2 | 3 | if(TARGET Qt::Quick) 4 | qt_internal_add_example(places) 5 | qt_internal_add_example(places_list) 6 | qt_internal_add_example(places_map) 7 | qt_internal_add_example(mapviewer) 8 | qt_internal_add_example(minimal_map) 9 | qt_internal_add_example(itemview_transitions) 10 | qt_internal_add_example(planespotter) 11 | endif() 12 | if(TARGET Qt::Quick AND TARGET Qt::Widgets) 13 | qt_internal_add_example(geojson_viewer) 14 | endif() 15 | -------------------------------------------------------------------------------- /examples/location/geojson_viewer/data/01-point.json: -------------------------------------------------------------------------------- 1 | { 2 | "type" : "Point", 3 | "coordinates" : [11,60] 4 | } 5 | -------------------------------------------------------------------------------- /examples/location/geojson_viewer/data/02-linestring.json: -------------------------------------------------------------------------------- 1 | { 2 | "type" : "LineString", 3 | "coordinates" : [ 4 | [13.5, 43], 5 | [10.73, 59.92] 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /examples/location/geojson_viewer/data/03-multipoint.json: -------------------------------------------------------------------------------- 1 | { 2 | "type" : "MultiPoint", 3 | "coordinates" : [ 4 | [11,60], 5 | [5.5,60.3], 6 | [5.7,58.90] 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /examples/location/geojson_viewer/data/04-polygon.json: -------------------------------------------------------------------------------- 1 | { 2 | "type" : "Polygon", 3 | "coordinates" : [ 4 | [ 5 | [17.13, 51.11], 6 | [30.54, 50.42], 7 | [26.70, 58.36], 8 | [17.13, 51.11] 9 | ] 10 | ], 11 | "bbox" : [50, -50, 10, -10] 12 | } 13 | -------------------------------------------------------------------------------- /examples/location/geojson_viewer/data/05-multilinestring.json: -------------------------------------------------------------------------------- 1 | { 2 | "type" : "MultiLineString", 3 | "coordinates" : [ 4 | [[13.5, 43], [10.73, 59.92]], 5 | [[9.15, 45], [-3.15, 58.90]] 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /examples/location/geojson_viewer/data/06-multipolygon.json: -------------------------------------------------------------------------------- 1 | { 2 | "type" : "MultiPolygon", 3 | "coordinates" : [ 4 | [ 5 | [ 6 | [17.13, 51.11], 7 | [30.54, 50.42], 8 | [26.74, 58.36], 9 | [17.13, 51.11] 10 | ] 11 | ], 12 | [ 13 | [ 14 | [19.84, 41.33], 15 | [30.45, 49.26], 16 | [17.07, 50.10], 17 | [19.84, 41.33] 18 | ] 19 | ] 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /examples/location/geojson_viewer/data/08-feature.json: -------------------------------------------------------------------------------- 1 | { 2 | "type" : "Feature", 3 | "id" : "Poly", 4 | "properties" : { 5 | "name" : "Poly", 6 | "text" : "This is a Feature with a Polygon", 7 | "color" : "limegreen" 8 | }, 9 | "geometry" : { 10 | "type" : "Polygon", 11 | "coordinates" : [ 12 | [ 13 | [17.13, 51.11], 14 | [30.54, 50.42], 15 | [26.70, 58.36], 16 | [17.13, 51.11] 17 | ], 18 | [ 19 | [23.46, 54.36], 20 | [20.52, 51.91], 21 | [28.25, 51.50], 22 | [26.80, 54.36], 23 | [23.46, 54.36] 24 | ] 25 | ] 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /examples/location/geojson_viewer/doc/images/geojson_viewer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtlocation/HEAD/examples/location/geojson_viewer/doc/images/geojson_viewer.png -------------------------------------------------------------------------------- /examples/location/geojson_viewer/geojson_viewer.pro: -------------------------------------------------------------------------------- 1 | TARGET = qml_location_geojsonviewer 2 | TEMPLATE = app 3 | 4 | QT += core qml network quick positioning 5 | android: QT += core-private 6 | 7 | SOURCES += main.cpp 8 | CONFIG += install_ok 9 | 10 | RESOURCES += \ 11 | qml.qrc 12 | 13 | OTHER_FILES += \ 14 | $$files(data/*.json) 15 | 16 | target.path = $$[QT_INSTALL_EXAMPLES]/location/geojsonviewer 17 | INSTALLS += target 18 | DEFINES += $$shell_quote(SRC_PATH=$$PWD) 19 | -------------------------------------------------------------------------------- /examples/location/geojson_viewer/main.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2019 Julian Sherollari 2 | // Copyright (C) 2019 The Qt Company Ltd. 3 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 4 | 5 | #include 6 | #include 7 | #include 8 | 9 | using namespace Qt::StringLiterals; 10 | 11 | int main(int argc, char *argv[]) 12 | { 13 | QGuiApplication app(argc, argv); 14 | 15 | QQmlApplicationEngine engine; 16 | engine.rootContext()->setContextProperty("dataPath", QUrl(QStringLiteral("file://") 17 | + qPrintable(QT_STRINGIFY(SRC_PATH)) 18 | + QStringLiteral("/data"))); 19 | 20 | engine.load(QUrl(QStringLiteral("qrc:/main.qml"))); 21 | 22 | if (engine.rootObjects().isEmpty()) 23 | return -1; 24 | 25 | return app.exec(); 26 | } 27 | -------------------------------------------------------------------------------- /examples/location/geojson_viewer/mapitems/CircleItem.qml: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2017 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | import QtQuick 4 | import QtLocation 5 | 6 | MapCircle { 7 | color: "#da5546" 8 | border.color: "#330a0a" 9 | border.width: 2 10 | smooth: true 11 | opacity: 0.75 12 | autoFadeIn: view.autoFadeIn 13 | referenceSurface: view.referenceSurface 14 | 15 | property string geojsonType: "Point" 16 | 17 | function setGeometry(anchorCoordinate) { 18 | center = anchorCoordinate 19 | } 20 | 21 | function addGeometry(newCoordinate, changeLast){ 22 | radius = center.distanceTo(newCoordinate) 23 | return true 24 | } 25 | 26 | function finishAddGeometry(){ 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /examples/location/geojson_viewer/mapitems/PolygonItem.qml: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2017 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | import QtQuick 4 | import QtLocation 5 | 6 | MapPolygon { 7 | color: "#da5546" 8 | border.color: "#330a0a" 9 | border.width: 2 10 | smooth: true 11 | opacity: 0.75 12 | autoFadeIn: view.autoFadeIn 13 | referenceSurface: view.referenceSurface 14 | 15 | property string geojsonType: "Polygon" 16 | 17 | function setGeometry(anchorCoordinate){ 18 | addCoordinate(anchorCoordinate) 19 | } 20 | 21 | function addGeometry(newCoordinate, changeLast){ 22 | if (changeLast && path.length > 0) 23 | removeCoordinate(path[path.length-1]) 24 | addCoordinate(newCoordinate) 25 | return false 26 | } 27 | 28 | function finishAddGeometry(){ 29 | if (path.length > 0) 30 | removeCoordinate(path[path.length-1]) 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /examples/location/geojson_viewer/mapitems/PolylineItem.qml: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2017 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | import QtQuick 4 | import QtLocation 5 | 6 | MapPolyline { 7 | line.color: "#330a0a" 8 | line.width: 2 9 | opacity: 0.75 10 | smooth: true 11 | autoFadeIn: view.autoFadeIn 12 | referenceSurface: view.referenceSurface 13 | 14 | property string geojsonType: "Polyline" 15 | 16 | function setGeometry(anchorCoordinate){ 17 | addCoordinate(anchorCoordinate) 18 | } 19 | 20 | function addGeometry(newCoordinate, changeLast){ 21 | if (changeLast) 22 | replaceCoordinate(pathLength()-1, newCoordinate) 23 | else 24 | addCoordinate(newCoordinate) 25 | return false 26 | } 27 | 28 | function finishAddGeometry(){ 29 | removeCoordinate(pathLength()-1) 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /examples/location/geojson_viewer/mapitems/RectangleItem.qml: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2017 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | import QtQuick 4 | import QtLocation 5 | 6 | MapRectangle { 7 | color: "#da5546" 8 | border.color: "#330a0a" 9 | border.width: 2 10 | smooth: true 11 | opacity: 0.75 12 | autoFadeIn: view.autoFadeIn 13 | referenceSurface: view.referenceSurface 14 | 15 | function setGeometry(anchorCoordinate) { 16 | topLeft = anchorCoordinate 17 | } 18 | 19 | function addGeometry(newCoordinate, changeLast){ 20 | bottomRight = newCoordinate 21 | return true //finished 22 | } 23 | 24 | function finishAddGeometry(){ 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /examples/location/geojson_viewer/qml.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | main.qml 4 | GeoJsonDelegate.qml 5 | mapitems/CircleItem.qml 6 | mapitems/PolygonItem.qml 7 | mapitems/PolylineItem.qml 8 | mapitems/RectangleItem.qml 9 | data/11-full.json 10 | 11 | 12 | -------------------------------------------------------------------------------- /examples/location/itemview_transitions/doc/images/itemview_transitions.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtlocation/HEAD/examples/location/itemview_transitions/doc/images/itemview_transitions.jpg -------------------------------------------------------------------------------- /examples/location/itemview_transitions/itemview_transitions.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = app 2 | 3 | QT += qml quick location 4 | 5 | SOURCES += main.cpp 6 | 7 | qmlfiles.files = $$files($$PWD/*.qml) 8 | qmlfiles.prefix = / 9 | qmlfiles.base = $$PWD 10 | 11 | RESOURCES += qmlfiles 12 | 13 | DISTFILES += $$files($$PWD/*.py) $$files($$PWD/*.GeoJSON) main.qml OsloListModel.qml doc/src/itemview_transitions.qdoc 14 | 15 | target.path = $$[QT_INSTALL_EXAMPLES]/location/itemview_transitions 16 | INSTALLS += target 17 | -------------------------------------------------------------------------------- /examples/location/itemview_transitions/main.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2017 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | 4 | #include 5 | #include 6 | 7 | int main(int argc, char *argv[]) 8 | { 9 | QGuiApplication app(argc, argv); 10 | 11 | QQmlApplicationEngine engine; 12 | engine.load(QUrl(QStringLiteral("qrc:/main.qml"))); 13 | 14 | return app.exec(); 15 | } 16 | 17 | -------------------------------------------------------------------------------- /examples/location/mapviewer/doc/images/mapviewer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtlocation/HEAD/examples/location/mapviewer/doc/images/mapviewer.png -------------------------------------------------------------------------------- /examples/location/mapviewer/forms/Message.qml: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2017 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | 4 | import QtQuick 5 | 6 | MessageForm { 7 | property string title 8 | property string message 9 | property variant backPage 10 | 11 | signal closeForm(variant backPage) 12 | 13 | button.onClicked: { 14 | closeForm(backPage) 15 | } 16 | 17 | Component.onCompleted: { 18 | messageText.text = message 19 | messageTitle.text = title 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /examples/location/mapviewer/menus/ItemPopupMenu.qml: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2022 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | 4 | import QtQuick 5 | import QtQuick.Controls 6 | 7 | Menu { 8 | property variant type 9 | signal itemClicked(string item) 10 | 11 | MenuItem { 12 | text: qsTr("Info") 13 | onTriggered: itemClicked("show" + type + "Info") 14 | } 15 | MenuItem { 16 | text: qsTr("Delete") 17 | onTriggered: itemClicked("delete" + type) 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /examples/location/mapviewer/menus/MapPopupMenu.qml: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2022 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | 4 | import QtQuick 5 | import QtQuick.Controls 6 | 7 | Menu { 8 | property variant coordinate 9 | property int markersCount 10 | property int mapItemsCount 11 | signal itemClicked(string item) 12 | 13 | MenuItem { 14 | text: qsTr("Add Marker") 15 | onTriggered: itemClicked("addMarker") 16 | } 17 | MenuItem { 18 | text: qsTr("Get coordinate") 19 | onTriggered: itemClicked("getCoordinate") 20 | } 21 | MenuItem { 22 | text: qsTr("Fit Viewport To Markers") 23 | onTriggered: itemClicked("fitViewport") 24 | } 25 | MenuItem { 26 | text: qsTr("Delete all markers") 27 | enabled: markersCount > 0 28 | onTriggered: itemClicked("deleteMarkers") 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /examples/location/mapviewer/resources/marker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtlocation/HEAD/examples/location/mapviewer/resources/marker.png -------------------------------------------------------------------------------- /examples/location/mapviewer/resources/marker_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtlocation/HEAD/examples/location/mapviewer/resources/marker_blue.png -------------------------------------------------------------------------------- /examples/location/mapviewer/resources/scale.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtlocation/HEAD/examples/location/mapviewer/resources/scale.png -------------------------------------------------------------------------------- /examples/location/mapviewer/resources/scale_end.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtlocation/HEAD/examples/location/mapviewer/resources/scale_end.png -------------------------------------------------------------------------------- /examples/location/minimal_map/doc/images/minimal_map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtlocation/HEAD/examples/location/minimal_map/doc/images/minimal_map.png -------------------------------------------------------------------------------- /examples/location/minimal_map/main.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2017 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | 4 | #include 5 | #include 6 | 7 | int main(int argc, char *argv[]) 8 | { 9 | QGuiApplication app(argc, argv); 10 | 11 | QQmlApplicationEngine engine; 12 | engine.load(QUrl(QStringLiteral("qrc:/main.qml"))); 13 | 14 | return app.exec(); 15 | } 16 | 17 | -------------------------------------------------------------------------------- /examples/location/minimal_map/minimal_map.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = app 2 | 3 | QT += location 4 | 5 | SOURCES += main.cpp 6 | 7 | RESOURCES += qml.qrc 8 | 9 | target.path = $$[QT_INSTALL_EXAMPLES]/location/minimal_map 10 | INSTALLS += target 11 | -------------------------------------------------------------------------------- /examples/location/minimal_map/qml.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | main.qml 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /examples/location/places/doc/images/places.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtlocation/HEAD/examples/location/places/doc/images/places.png -------------------------------------------------------------------------------- /examples/location/places/forms/Message.qml: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2017 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | 4 | import QtQuick 5 | 6 | MessageForm { 7 | property string title 8 | property string message 9 | property var backPage 10 | 11 | signal closeForm(var backPage) 12 | 13 | button.onClicked: { 14 | closeForm(backPage) 15 | } 16 | 17 | Component.onCompleted: { 18 | messageText.text = message 19 | messageTitle.text = title 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /examples/location/places/helper.js: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2017 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | 4 | .pragma library 5 | 6 | function formatDistance(distance) 7 | { 8 | if (distance < 1000) 9 | return distance.toFixed(0) + " m"; 10 | 11 | var km = distance/1000; 12 | if (km < 10) 13 | return km.toFixed(1) + " km"; 14 | 15 | return km.toFixed(0) + " km"; 16 | } 17 | -------------------------------------------------------------------------------- /examples/location/places/resources/categories.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtlocation/HEAD/examples/location/places/resources/categories.png -------------------------------------------------------------------------------- /examples/location/places/resources/left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtlocation/HEAD/examples/location/places/resources/left.png -------------------------------------------------------------------------------- /examples/location/places/resources/marker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtlocation/HEAD/examples/location/places/resources/marker.png -------------------------------------------------------------------------------- /examples/location/places/resources/right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtlocation/HEAD/examples/location/places/resources/right.png -------------------------------------------------------------------------------- /examples/location/places/resources/scale.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtlocation/HEAD/examples/location/places/resources/scale.png -------------------------------------------------------------------------------- /examples/location/places/resources/scale_end.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtlocation/HEAD/examples/location/places/resources/scale_end.png -------------------------------------------------------------------------------- /examples/location/places/resources/search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtlocation/HEAD/examples/location/places/resources/search.png -------------------------------------------------------------------------------- /examples/location/places/resources/star.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtlocation/HEAD/examples/location/places/resources/star.png -------------------------------------------------------------------------------- /examples/location/places/views/CategoryView.qml: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2017 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | 4 | import QtQuick 5 | import QtLocation 6 | import QtQml.Models 7 | 8 | 9 | //! [CategoryModel view] 10 | ListView { 11 | id: root 12 | property var categoryModel 13 | property var rootIndex 14 | 15 | signal searchCategory(var category) 16 | signal showSubcategories(var index) 17 | 18 | snapMode: ListView.SnapToItem 19 | 20 | model: DelegateModel { 21 | id: delegeteDataModel 22 | model: root.categoryModel 23 | rootIndex: root.rootIndex 24 | delegate: CategoryDelegate { 25 | width: ListView.view.width 26 | onSearchCategory: root.searchCategory(category); 27 | onShowSubcategories: root.showSubcategories(delegeteDataModel.modelIndex(index)); 28 | } 29 | } 30 | } 31 | //! [CategoryModel view] 32 | -------------------------------------------------------------------------------- /examples/location/places/views/EditorialView.qml: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2017 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | 4 | import QtQuick 5 | import QtLocation 6 | 7 | //! [PlaceEditorialModel view] 8 | ListView { 9 | id:view 10 | property Place place 11 | signal showEditorial(var editorial) 12 | model: place.editorialModel 13 | delegate: EditorialDelegate { 14 | width: ListView.view.width 15 | onShowEditorial: view.showEditorial(model) 16 | } 17 | } 18 | //! [PlaceEditorialModel view] 19 | 20 | -------------------------------------------------------------------------------- /examples/location/places/views/RatingView.qml: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2017 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | 4 | import QtQuick 5 | 6 | Row { 7 | property real rating: 0 8 | property int size: 0 9 | 10 | Repeater { 11 | model: Math.ceil(rating) 12 | Image { 13 | source: Qt.resolvedUrl("../resources/star.png") 14 | width: size 15 | height: size 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /examples/location/places/views/ReviewView.qml: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2017 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | 4 | import QtQuick 5 | import QtLocation 6 | 7 | //! [ReviewModel delegate] 8 | ListView { 9 | id:view 10 | property Place place 11 | signal showReview(var review) 12 | model: place.reviewModel 13 | delegate: ReviewDelegate { 14 | width: ListView.view.width 15 | onShowReview: view.showReview(model) 16 | } 17 | } 18 | //! [ReviewModel delegate] 19 | 20 | -------------------------------------------------------------------------------- /examples/location/places/views/SuggestionView.qml: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2017 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | 4 | import QtQuick 5 | import QtQuick.Controls 6 | 7 | //! [PlaceSearchSuggestionModel view 1] 8 | ListView { 9 | id: suggestionView 10 | property var suggestionModel 11 | signal suggestionSelected(string text) 12 | //! [PlaceSearchSuggestionModel view 1] 13 | snapMode: ListView.SnapToItem 14 | //! [PlaceSearchSuggestionModel view 2] 15 | model: suggestionModel 16 | delegate: Item { 17 | width: ListView.view.width 18 | height: label.height * 1.5 19 | Label { 20 | id: label 21 | text: suggestion 22 | } 23 | MouseArea { 24 | anchors.fill: parent 25 | onClicked: suggestionSelected(suggestion) 26 | } 27 | } 28 | } 29 | //! [PlaceSearchSuggestionModel view 2] 30 | 31 | -------------------------------------------------------------------------------- /examples/location/places_list/Marker.qml: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2017 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | 4 | import QtQuick 5 | 6 | Rectangle { 7 | width: image.width 8 | Image { 9 | id: image 10 | anchors.centerIn: parent 11 | source: "marker.png" 12 | Text{ 13 | y: parent.height/10 14 | width: parent.width 15 | color: "white" 16 | font.bold: true 17 | font.pixelSize: 14 18 | horizontalAlignment: Text.AlignHCenter 19 | text: index 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /examples/location/places_list/doc/images/places_list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtlocation/HEAD/examples/location/places_list/doc/images/places_list.png -------------------------------------------------------------------------------- /examples/location/places_list/main.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2017 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | 4 | #include 5 | #include 6 | 7 | int main(int argc, char **argv) 8 | { 9 | QGuiApplication app(argc,argv); 10 | QQuickView view; 11 | view.setSource(QUrl(QStringLiteral("qrc:///places_list.qml"))); 12 | view.show(); 13 | return app.exec(); 14 | } 15 | -------------------------------------------------------------------------------- /examples/location/places_list/marker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtlocation/HEAD/examples/location/places_list/marker.png -------------------------------------------------------------------------------- /examples/location/places_list/places_list.pro: -------------------------------------------------------------------------------- 1 | TARGET = places_list 2 | TEMPLATE = app 3 | 4 | QT += quick qml positioning location 5 | SOURCES = main.cpp 6 | 7 | RESOURCES += \ 8 | places_list.qrc 9 | 10 | target.path = $$[QT_INSTALL_EXAMPLES]/location/places_list 11 | INSTALLS += target 12 | 13 | -------------------------------------------------------------------------------- /examples/location/places_list/places_list.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | marker.png 4 | places_list.qml 5 | Marker.qml 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/location/places_map/Main.qml: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2024 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | 4 | import QtCore 5 | import QtQuick 6 | 7 | Item { 8 | id: root 9 | anchors.fill: parent 10 | 11 | LocationPermission { 12 | id: permission 13 | accuracy: LocationPermission.Precise 14 | availability: LocationPermission.WhenInUse 15 | } 16 | 17 | PermissionsScreen { 18 | anchors.fill: parent 19 | visible: permission.status !== Qt.PermissionStatus.Granted 20 | requestDenied: permission.status === Qt.PermissionStatus.Denied 21 | onRequestPermission: permission.request() 22 | } 23 | 24 | Component { 25 | id: applicationComponent 26 | PlacesMap {} 27 | } 28 | 29 | Loader { 30 | anchors.fill: parent 31 | active: permission.status === Qt.PermissionStatus.Granted 32 | sourceComponent: applicationComponent 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /examples/location/places_map/doc/images/places_map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtlocation/HEAD/examples/location/places_map/doc/images/places_map.png -------------------------------------------------------------------------------- /examples/location/places_map/main.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2017 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | 4 | #include 5 | #include 6 | 7 | int main(int argc, char **argv) 8 | { 9 | QGuiApplication app(argc,argv); 10 | QQuickView view; 11 | view.setSource(QUrl(QStringLiteral("qrc:///Main.qml"))); 12 | view.setWidth(360); 13 | view.setHeight(640); 14 | view.show(); 15 | return app.exec(); 16 | } 17 | -------------------------------------------------------------------------------- /examples/location/places_map/marker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtlocation/HEAD/examples/location/places_map/marker.png -------------------------------------------------------------------------------- /examples/location/places_map/places_map.pro: -------------------------------------------------------------------------------- 1 | TARGET = places_map 2 | TEMPLATE = app 3 | 4 | QT += quick qml positioning location 5 | SOURCES = main.cpp 6 | 7 | RESOURCES += \ 8 | places_map.qrc 9 | 10 | target.path = $$[QT_INSTALL_EXAMPLES]/location/places_map 11 | INSTALLS += target 12 | 13 | -------------------------------------------------------------------------------- /examples/location/places_map/places_map.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | marker.png 4 | Main.qml 5 | PermissionsScreen.qml 6 | PlacesMap.qml 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/location/planespotter/airplane.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/location/planespotter/doc/images/planespotter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtlocation/HEAD/examples/location/planespotter/doc/images/planespotter.png -------------------------------------------------------------------------------- /examples/location/planespotter/planespotter.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = app 2 | TARGET = planespotter 3 | QT += qml quick positioning location 4 | 5 | SOURCES += main.cpp 6 | 7 | RESOURCES += qml.qrc 8 | 9 | target.path = $$[QT_INSTALL_EXAMPLES]/location/planespotter 10 | INSTALLS += target 11 | -------------------------------------------------------------------------------- /examples/location/planespotter/qml.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | planespotter.qml 4 | Plane.qml 5 | airplane.svg 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # special case begin 2 | qt_feature_evaluate_features("${CMAKE_CURRENT_SOURCE_DIR}/configure.cmake") 3 | add_subdirectory(location) 4 | add_subdirectory(plugins) 5 | # special case end 6 | -------------------------------------------------------------------------------- /src/configure.cmake: -------------------------------------------------------------------------------- 1 | qt_feature("geoservices_osm" PRIVATE 2 | LABEL "Provides access to OpenStreetMap geoservices" 3 | CONDITION TRUE 4 | ) 5 | 6 | qt_feature("geoservices_esri" PRIVATE 7 | LABEL "Provides access to OpenStreetMap geoservices" 8 | CONDITION FALSE 9 | ) 10 | 11 | qt_feature("geoservices_mapbox" PRIVATE 12 | LABEL "Provides access to OpenStreetMap geoservices" 13 | CONDITION FALSE 14 | ) 15 | 16 | qt_feature("geoservices_nokia" PRIVATE 17 | LABEL "Provides access to OpenStreetMap geoservices" 18 | CONDITION FALSE 19 | ) 20 | -------------------------------------------------------------------------------- /src/location/declarativemaps/error_messages_p.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2021 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | 4 | #ifndef ERROR_MESSAGES_H 5 | #define ERROR_MESSAGES_H 6 | 7 | // 8 | // W A R N I N G 9 | // ------------- 10 | // 11 | // This file is not part of the Qt API. It exists purely as an 12 | // implementation detail. This header file may change from version to 13 | // version without notice, or even be removed. 14 | // 15 | // We mean it. 16 | // 17 | 18 | 19 | #include 20 | 21 | QT_BEGIN_NAMESPACE 22 | 23 | extern const char CONTEXT_NAME[]; 24 | extern const char PLUGIN_PROPERTY_NOT_SET[]; 25 | extern const char PLUGIN_ERROR[]; 26 | extern const char PLUGIN_PROVIDER_ERROR[]; 27 | extern const char PLUGIN_NOT_VALID[]; 28 | extern const char CATEGORIES_NOT_INITIALIZED[]; 29 | extern const char UNABLE_TO_MAKE_REQUEST[]; 30 | extern const char INDEX_OUT_OF_RANGE[]; 31 | 32 | QT_END_NAMESPACE 33 | 34 | #endif // ERROR_MESSAGES_H 35 | -------------------------------------------------------------------------------- /src/location/doc/images/api-mapcircle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtlocation/HEAD/src/location/doc/images/api-mapcircle.png -------------------------------------------------------------------------------- /src/location/doc/images/api-mapitemgroup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtlocation/HEAD/src/location/doc/images/api-mapitemgroup.png -------------------------------------------------------------------------------- /src/location/doc/images/api-mappolygon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtlocation/HEAD/src/location/doc/images/api-mappolygon.png -------------------------------------------------------------------------------- /src/location/doc/images/api-mappolyline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtlocation/HEAD/src/location/doc/images/api-mappolyline.png -------------------------------------------------------------------------------- /src/location/doc/images/api-mapquickitem-anchor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtlocation/HEAD/src/location/doc/images/api-mapquickitem-anchor.png -------------------------------------------------------------------------------- /src/location/doc/images/api-mapquickitem.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtlocation/HEAD/src/location/doc/images/api-mapquickitem.png -------------------------------------------------------------------------------- /src/location/doc/images/api-maprectangle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtlocation/HEAD/src/location/doc/images/api-maprectangle.png -------------------------------------------------------------------------------- /src/location/doc/images/mapsdemo-finished.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtlocation/HEAD/src/location/doc/images/mapsdemo-finished.png -------------------------------------------------------------------------------- /src/location/doc/images/mapsdemo-routing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtlocation/HEAD/src/location/doc/images/mapsdemo-routing.png -------------------------------------------------------------------------------- /src/location/doc/images/mapsdemo-searchgui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtlocation/HEAD/src/location/doc/images/mapsdemo-searchgui.png -------------------------------------------------------------------------------- /src/location/doc/images/mapsdemo-verybasic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtlocation/HEAD/src/location/doc/images/mapsdemo-verybasic.png -------------------------------------------------------------------------------- /src/location/doc/snippets/cpp/main.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2017 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | 4 | int main(int /*argc*/, char ** /*argv*/) 5 | { 6 | return 0; 7 | } 8 | 9 | -------------------------------------------------------------------------------- /src/location/doc/snippets/declarative/marker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtlocation/HEAD/src/location/doc/snippets/declarative/marker.png -------------------------------------------------------------------------------- /src/location/doc/snippets/declarative/plugin.qml: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2017 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | 4 | import QtQuick 5 | //! [Plugin import] 6 | import QtLocation 7 | //! [Plugin import] 8 | 9 | Item { 10 | //! [Plugin locale] 11 | //single locale 12 | Plugin { 13 | locales: "en_US" 14 | } 15 | 16 | //multiple locales 17 | Plugin { 18 | locales: ["fr_FR","en_US"] 19 | } 20 | //! [Plugin locale] 21 | } 22 | -------------------------------------------------------------------------------- /src/location/doc/snippets/places/main.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2017 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | 4 | #include "requesthandler.h" 5 | 6 | int main(int /*argc*/, char ** /*argv*/) 7 | { 8 | return 0; 9 | } 10 | 11 | -------------------------------------------------------------------------------- /src/location/doc/src/example-parameters.qdocinc: -------------------------------------------------------------------------------- 1 | The example can work with any of the available geo services plugins. However, some 2 | plugins may require additional \l {QtLocation::PluginParameter}{plugin parameters} in order to 3 | function correctly. \l {QtLocation::PluginParameter}{Plugin parameters} can be passed on the 4 | command line using the \c {--plugin} argument, which takes the form: 5 | 6 | \badcode 7 | --plugin. 8 | \endcode 9 | 10 | Refer to the documentation for each of the geo services plugins for details on what plugin 11 | parameters they support. The default plugin used by this example is 12 | \l {Qt Location Open Street Map Plugin}, which does not require any parameters. 13 | -------------------------------------------------------------------------------- /src/location/doc/src/place-crossref.qdocinc: -------------------------------------------------------------------------------- 1 | \code 2 | origin R/O manager(here) destination R/W manager (places_jsondb) 3 | Save 4 | Place id: ae246 ---> Place id: 0001 5 | Attribute type: x_provider Attribute type: x_id_here 6 | Attribute value: here Attribute text value: ae246 7 | \endcode 8 | -------------------------------------------------------------------------------- /src/location/doc/src/qtlocation-examples.qdoc: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2017 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only 3 | 4 | /*! 5 | \group qtlocation-examples 6 | \title Qt Location Examples 7 | \brief Examples for the Qt Location module 8 | \ingroup qtlocation 9 | 10 | These examples show a range of different uses for \l{Qt Location}, 11 | such as displaying a map within a QML user interface, implementing basic routing and 12 | place search, as well as integrating positioning data types. 13 | 14 | These examples can work with any of the available geo services plugins. However, some plugins may 15 | require additional \l {QtLocation::PluginParameter}{plugin parameters} in order to function correctly. 16 | The default plugin used by these examples is \l {Qt Location Open Street Map Plugin}, which does not 17 | require any parameters. 18 | */ 19 | 20 | -------------------------------------------------------------------------------- /src/location/doc/src/qtlocation-toc.qdoc: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2024 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only 3 | 4 | /*! 5 | \page qtlocation-toc.html 6 | \title Qt Location module topics 7 | 8 | The following list has links to all the individual topics (HTML files) 9 | in the Qt Location module. 10 | 11 | \list 12 | \li \l {Maps and Navigation (C++)} 13 | \li \l {Maps and Navigation (QML)} 14 | \li \l {Places (C++)} 15 | \li \l {QML Places API}{Places (QML)} 16 | \li \l {Places Backend} 17 | \li \l {QML Maps}{Maps} 18 | \list 19 | \li \l{QML Maps Plugin}{Maps QML API} 20 | \endlist 21 | \li \l {Qt Location GeoServices}{GeoServices} 22 | \li \l {Qt Location Open Street Map Plugin}{Open Street Map Plugin} 23 | \li \l {Qt Location Items Overlay Plugin}{Items Overlay Plugin} 24 | \li \l {Changes to Qt Location}{Upgrading from Qt 5} 25 | \endlist 26 | 27 | */ 28 | -------------------------------------------------------------------------------- /src/location/maps/qgeocodingmanager_p.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2021 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | 4 | #ifndef QGEOCODINGMANAGER_P_H 5 | #define QGEOCODINGMANAGER_P_H 6 | 7 | // 8 | // W A R N I N G 9 | // ------------- 10 | // 11 | // This file is not part of the Qt API. It exists purely as an 12 | // implementation detail. This header file may change from version to 13 | // version without notice, or even be removed. 14 | // 15 | // We mean it. 16 | // 17 | 18 | #include "qgeocodingmanager.h" 19 | 20 | #include 21 | 22 | QT_BEGIN_NAMESPACE 23 | 24 | class QGeoCodingManagerEngine; 25 | 26 | class QGeoCodingManagerPrivate 27 | { 28 | public: 29 | QGeoCodingManagerPrivate() = default; 30 | 31 | std::unique_ptr engine; 32 | 33 | private: 34 | Q_DISABLE_COPY(QGeoCodingManagerPrivate) 35 | }; 36 | 37 | QT_END_NAMESPACE 38 | 39 | #endif 40 | 41 | -------------------------------------------------------------------------------- /src/location/maps/qgeocodingmanagerengine_p.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2021 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | 4 | #ifndef QGEOCODINGMANAGERENGINE_P_H 5 | #define QGEOCODINGMANAGERENGINE_P_H 6 | 7 | // 8 | // W A R N I N G 9 | // ------------- 10 | // 11 | // This file is not part of the Qt API. It exists purely as an 12 | // implementation detail. This header file may change from version to 13 | // version without notice, or even be removed. 14 | // 15 | // We mean it. 16 | // 17 | 18 | #include "qgeocodingmanagerengine.h" 19 | 20 | #include 21 | 22 | QT_BEGIN_NAMESPACE 23 | 24 | class QGeoCodingManagerEnginePrivate 25 | { 26 | public: 27 | QGeoCodingManagerEnginePrivate() = default; 28 | 29 | QString managerName; 30 | QLocale locale; 31 | int managerVersion = -1; 32 | 33 | private: 34 | Q_DISABLE_COPY(QGeoCodingManagerEnginePrivate) 35 | }; 36 | 37 | QT_END_NAMESPACE 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /src/location/maps/qgeomappingmanager_p_p.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2021 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | 4 | #ifndef QGEOMAPPINGMANAGER_P_H 5 | #define QGEOMAPPINGMANAGER_P_H 6 | 7 | // 8 | // W A R N I N G 9 | // ------------- 10 | // 11 | // This file is not part of the Qt API. It exists purely as an 12 | // implementation detail. This header file may change from version to 13 | // version without notice, or even be removed. 14 | // 15 | // We mean it. 16 | // 17 | 18 | QT_BEGIN_NAMESPACE 19 | 20 | class QGeoMappingManagerPrivate 21 | { 22 | public: 23 | QGeoMappingManagerPrivate(); 24 | ~QGeoMappingManagerPrivate(); 25 | 26 | QGeoMappingManagerEngine *engine = nullptr; 27 | 28 | private: 29 | Q_DISABLE_COPY(QGeoMappingManagerPrivate) 30 | }; 31 | 32 | QT_END_NAMESPACE 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /src/location/maps/qgeoroutingmanager_p.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2021 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | 4 | #ifndef QGEOROUTINGMANAGER_P_H 5 | #define QGEOROUTINGMANAGER_P_H 6 | 7 | // 8 | // W A R N I N G 9 | // ------------- 10 | // 11 | // This file is not part of the Qt API. It exists purely as an 12 | // implementation detail. This header file may change from version to 13 | // version without notice, or even be removed. 14 | // 15 | // We mean it. 16 | // 17 | 18 | #include 19 | 20 | QT_BEGIN_NAMESPACE 21 | 22 | class QGeoRoutingManagerEngine; 23 | 24 | class QGeoRoutingManagerPrivate 25 | { 26 | public: 27 | std::unique_ptr engine; 28 | }; 29 | 30 | QT_END_NAMESPACE 31 | 32 | #endif 33 | -------------------------------------------------------------------------------- /src/location/places/qplaceattribute_p.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2021 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | 4 | #ifndef QPLACEATTRIBUTE_P_H 5 | #define QPLACEATTRIBUTE_P_H 6 | 7 | // 8 | // W A R N I N G 9 | // ------------- 10 | // 11 | // This file is not part of the Qt API. It exists purely as an 12 | // implementation detail. This header file may change from version to 13 | // version without notice, or even be removed. 14 | // 15 | // We mean it. 16 | // 17 | 18 | #include 19 | #include 20 | #include 21 | #include 22 | 23 | QT_BEGIN_NAMESPACE 24 | 25 | class QPlaceAttributePrivate : public QSharedData 26 | { 27 | public: 28 | bool operator== (const QPlaceAttributePrivate &other) const; 29 | 30 | bool isEmpty() const; 31 | 32 | QString label; 33 | QString text; 34 | }; 35 | 36 | QT_END_NAMESPACE 37 | 38 | #endif 39 | 40 | -------------------------------------------------------------------------------- /src/location/places/qplacecontactdetail_p.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2021 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | 4 | #ifndef QPLACECONTACTDETAIL_P_H 5 | #define QPLACECONTACTDETAIL_P_H 6 | 7 | 8 | // 9 | // W A R N I N G 10 | // ------------- 11 | // 12 | // This file is not part of the Qt API. It exists purely as an 13 | // implementation detail. This header file may change from version to 14 | // version without notice, or even be removed. 15 | // 16 | // We mean it. 17 | // 18 | 19 | #include 20 | #include 21 | #include 22 | 23 | QT_BEGIN_NAMESPACE 24 | 25 | class QPlaceContactDetailPrivate : public QSharedData 26 | { 27 | public: 28 | bool operator== (const QPlaceContactDetailPrivate &other) const; 29 | 30 | QString label; 31 | QString value; 32 | }; 33 | 34 | QT_END_NAMESPACE 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /src/location/places/qplacedetailsreply.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | 4 | #ifndef QPLACEDETAILSREPLY_H 5 | #define QPLACEDETAILSREPLY_H 6 | 7 | #include 8 | 9 | QT_BEGIN_NAMESPACE 10 | 11 | class QPlace; 12 | class QPlaceDetailsReplyPrivate; 13 | class Q_LOCATION_EXPORT QPlaceDetailsReply : public QPlaceReply 14 | { 15 | Q_OBJECT 16 | public: 17 | explicit QPlaceDetailsReply(QObject *parent = nullptr); 18 | virtual ~QPlaceDetailsReply(); 19 | 20 | QPlaceReply::Type type() const override; 21 | 22 | QPlace place() const; 23 | 24 | protected: 25 | void setPlace(const QPlace &place); 26 | 27 | private: 28 | Q_DISABLE_COPY(QPlaceDetailsReply) 29 | Q_DECLARE_PRIVATE(QPlaceDetailsReply) 30 | }; 31 | 32 | QT_END_NAMESPACE 33 | 34 | #endif // QPLACEDETAILSREPLY_H 35 | -------------------------------------------------------------------------------- /src/location/places/qplaceicon_p.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2022 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | 4 | #ifndef QPLACEICON_P_H 5 | #define QPLACEICON_P_H 6 | 7 | // 8 | // W A R N I N G 9 | // ------------- 10 | // 11 | // This file is not part of the Qt API. It exists purely as an 12 | // implementation detail. This header file may change from version to 13 | // version without notice, or even be removed. 14 | // 15 | // We mean it. 16 | // 17 | 18 | #include 19 | #include 20 | #include 21 | #include 22 | 23 | QT_BEGIN_NAMESPACE 24 | 25 | class QPlaceManager; 26 | class QPlaceIconPrivate: public QSharedData 27 | { 28 | public: 29 | bool operator == (const QPlaceIconPrivate &other) const; 30 | 31 | QPlaceManager *manager = nullptr; 32 | QVariantMap parameters; 33 | }; 34 | 35 | QT_END_NAMESPACE 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /src/location/places/qplacematchreply.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | 4 | #ifndef QPLACEMATCHREPLY_H 5 | #define QPLACEMATCHREPLY_H 6 | 7 | #include 8 | 9 | QT_BEGIN_NAMESPACE 10 | 11 | class QPlace; 12 | class QPlaceMatchRequest; 13 | class QPlaceMatchReplyPrivate; 14 | class Q_LOCATION_EXPORT QPlaceMatchReply : public QPlaceReply 15 | { 16 | Q_OBJECT 17 | public: 18 | explicit QPlaceMatchReply(QObject *parent = nullptr); 19 | ~QPlaceMatchReply(); 20 | 21 | QPlaceReply::Type type() const override; 22 | 23 | QList places() const; 24 | QPlaceMatchRequest request() const; 25 | 26 | protected: 27 | void setPlaces(const QList &results); 28 | void setRequest(const QPlaceMatchRequest &request); 29 | private: 30 | Q_DISABLE_COPY(QPlaceMatchReply) 31 | Q_DECLARE_PRIVATE(QPlaceMatchReply) 32 | }; 33 | 34 | QT_END_NAMESPACE 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /src/location/places/qplaceratings_p.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2022 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | 4 | #ifndef QPLACERATINGS_P_H 5 | #define QPLACERATINGS_P_H 6 | 7 | // 8 | // W A R N I N G 9 | // ------------- 10 | // 11 | // This file is not part of the Qt API. It exists purely as an 12 | // implementation detail. This header file may change from version to 13 | // version without notice, or even be removed. 14 | // 15 | // We mean it. 16 | // 17 | 18 | #include 19 | #include 20 | 21 | QT_BEGIN_NAMESPACE 22 | 23 | class QPlaceRatingsPrivate : public QSharedData 24 | { 25 | public: 26 | bool operator==(const QPlaceRatingsPrivate &other) const; 27 | 28 | bool isEmpty() const; 29 | 30 | qreal average = 0; 31 | qreal maximum = 0; 32 | int count = 0; 33 | }; 34 | 35 | QT_END_NAMESPACE 36 | 37 | #endif // QPLACERATING_P_H 38 | -------------------------------------------------------------------------------- /src/location/places/qplacereply_p.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2022 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | 4 | #ifndef QPLACEREPLY_P_H 5 | #define QPLACEREPLY_P_H 6 | 7 | // 8 | // W A R N I N G 9 | // ------------- 10 | // 11 | // This file is not part of the Qt API. It exists purely as an 12 | // implementation detail. This header file may change from version to 13 | // version without notice, or even be removed. 14 | // 15 | // We mean it. 16 | // 17 | 18 | #include "qplacereply.h" 19 | 20 | QT_BEGIN_NAMESPACE 21 | 22 | class QPlaceReplyPrivate 23 | { 24 | public: 25 | virtual ~QPlaceReplyPrivate(){} 26 | bool isFinished = false; 27 | QPlaceReply::Error error = QPlaceReply::NoError; 28 | QString errorString; 29 | }; 30 | 31 | QT_END_NAMESPACE 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /src/location/places/qplaceresult_p.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2022 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | 4 | #ifndef QPLACERESULT_P_H 5 | #define QPLACERESULT_P_H 6 | 7 | // 8 | // W A R N I N G 9 | // ------------- 10 | // 11 | // This file is not part of the Qt API. It exists purely as an 12 | // implementation detail. This header file may change from version to 13 | // version without notice, or even be removed. 14 | // 15 | // We mean it. 16 | // 17 | 18 | #include "qplacesearchresult_p.h" 19 | #include "qplace.h" 20 | 21 | QT_BEGIN_NAMESPACE 22 | 23 | class QPlaceResultPrivate : public QPlaceSearchResultPrivate 24 | { 25 | public: 26 | bool compare(const QPlaceSearchResultPrivate *other) const override; 27 | 28 | Q_DEFINE_SEARCHRESULT_PRIVATE_HELPER(QPlaceResult, QPlaceSearchResult::PlaceResult) 29 | 30 | qreal distance = Q_QNAN; 31 | QPlace place; 32 | bool sponsored = false; 33 | }; 34 | 35 | QT_END_NAMESPACE 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /src/location/places/qplacesearchsuggestionreply.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | 4 | #ifndef QPLACESEARCHSUGGESTIONREPLY_H 5 | #define QPLACESEARCHSUGGESTIONREPLY_H 6 | 7 | #include 8 | 9 | #include 10 | 11 | QT_BEGIN_NAMESPACE 12 | 13 | class QPlaceSearchSuggestionReplyPrivate; 14 | 15 | class Q_LOCATION_EXPORT QPlaceSearchSuggestionReply : public QPlaceReply 16 | { 17 | Q_OBJECT 18 | public: 19 | explicit QPlaceSearchSuggestionReply(QObject *parent = nullptr); 20 | ~QPlaceSearchSuggestionReply(); 21 | 22 | QStringList suggestions() const; 23 | Type type() const override; 24 | 25 | protected: 26 | void setSuggestions(const QStringList &suggestions); 27 | 28 | private: 29 | Q_DISABLE_COPY(QPlaceSearchSuggestionReply) 30 | Q_DECLARE_PRIVATE(QPlaceSearchSuggestionReply) 31 | }; 32 | 33 | QT_END_NAMESPACE 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /src/location/places/qplacesupplier_p.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2022 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | 4 | #ifndef QPLACESUPPLIER_P_H 5 | #define QPLACESUPPLIER_P_H 6 | 7 | // 8 | // W A R N I N G 9 | // ------------- 10 | // 11 | // This file is not part of the Qt API. It exists purely as an 12 | // implementation detail. This header file may change from version to 13 | // version without notice, or even be removed. 14 | // 15 | // We mean it. 16 | // 17 | 18 | #include 19 | #include 20 | #include 21 | 22 | #include "qplaceicon.h" 23 | 24 | QT_BEGIN_NAMESPACE 25 | 26 | class QPlaceSupplierPrivate : public QSharedData 27 | { 28 | public: 29 | bool operator==(const QPlaceSupplierPrivate &other) const; 30 | 31 | bool isEmpty() const; 32 | 33 | QString name; 34 | QString supplierId; 35 | QUrl url; 36 | QPlaceIcon icon; 37 | }; 38 | 39 | QT_END_NAMESPACE 40 | 41 | #endif // QPLACESUPPLIER_P_H 42 | -------------------------------------------------------------------------------- /src/location/places/qplaceuser_p.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2022 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | 4 | #ifndef QPLACEUSER_P_H 5 | #define QPLACEUSER_P_H 6 | 7 | // 8 | // W A R N I N G 9 | // ------------- 10 | // 11 | // This file is not part of the Qt API. It exists purely as an 12 | // implementation detail. This header file may change from version to 13 | // version without notice, or even be removed. 14 | // 15 | // We mean it. 16 | // 17 | 18 | #include 19 | #include 20 | #include 21 | 22 | QT_BEGIN_NAMESPACE 23 | 24 | class QPlaceUserPrivate : public QSharedData 25 | { 26 | public: 27 | bool operator==(const QPlaceUserPrivate &other) const; 28 | 29 | QString userId; 30 | QString name; 31 | }; 32 | 33 | QT_END_NAMESPACE 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /src/location/qlocation.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | 4 | #ifndef QLOCATION_H 5 | #define QLOCATION_H 6 | 7 | #if 0 8 | #pragma qt_class(QLocation) 9 | #endif 10 | 11 | #include 12 | 13 | QT_BEGIN_NAMESPACE 14 | 15 | namespace QLocation { 16 | 17 | enum Visibility { 18 | UnspecifiedVisibility = 0x00, 19 | DeviceVisibility = 0x01, 20 | PrivateVisibility = 0x02, 21 | PublicVisibility = 0x04 22 | }; 23 | 24 | Q_DECLARE_FLAGS(VisibilityScope, Visibility) 25 | 26 | } 27 | 28 | Q_DECLARE_OPERATORS_FOR_FLAGS(QLocation::VisibilityScope) 29 | 30 | QT_END_NAMESPACE 31 | 32 | #endif // QLOCATION_H 33 | -------------------------------------------------------------------------------- /src/location/qlocationglobal.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | #ifndef QLOCATIONGLOBAL_H 4 | #define QLOCATIONGLOBAL_H 5 | 6 | #include 7 | #include 8 | 9 | #ifdef Q_CLANG_QDOC 10 | #include "QtLocation/qlocation.h" 11 | #endif 12 | 13 | #endif // QLOCATIONGLOBAL_H 14 | 15 | -------------------------------------------------------------------------------- /src/location/quickmapitems/qgeomapitemgeometry.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2022 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | 4 | #include "qgeomapitemgeometry_p.h" 5 | #include "qdeclarativegeomap_p.h" 6 | #include 7 | 8 | #include 9 | #include 10 | #include 11 | #include 12 | 13 | QT_BEGIN_NAMESPACE 14 | 15 | QGeoMapItemGeometry::QGeoMapItemGeometry() 16 | { 17 | } 18 | 19 | QGeoMapItemGeometry::~QGeoMapItemGeometry() 20 | { 21 | 22 | } 23 | 24 | QT_END_NAMESPACE 25 | -------------------------------------------------------------------------------- /src/plugins/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Generated from plugins.pro. 2 | 3 | if(TARGET Qt::Location) 4 | add_subdirectory(geoservices) 5 | endif() 6 | -------------------------------------------------------------------------------- /src/plugins/geoservices/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_subdirectory(itemsoverlay) 2 | if(QT_FEATURE_geoservices_osm) 3 | add_subdirectory(osm) 4 | endif() 5 | if(QT_FEATURE_geoservices_esri) 6 | add_subdirectory(esri) 7 | endif() 8 | if(QT_FEATURE_geoservices_mapbox) 9 | add_subdirectory(mapbox) 10 | endif() 11 | if(QT_FEATURE_geoservices_nokia) 12 | add_subdirectory(nokia) 13 | endif() 14 | -------------------------------------------------------------------------------- /src/plugins/geoservices/esri/esri.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | maps.json 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/plugins/geoservices/esri/esri_plugin.json: -------------------------------------------------------------------------------- 1 | { 2 | "Keys": ["esri"], 3 | "Provider": "esri", 4 | "Version": 100, 5 | "Experimental": false, 6 | "Features": [ 7 | "OnlineMappingFeature", 8 | "OnlineGeocodingFeature", 9 | "ReverseGeocodingFeature", 10 | "OnlineRoutingFeature", 11 | "OnlinePlacesFeature" 12 | ], 13 | "Priority": 1000 14 | } 15 | -------------------------------------------------------------------------------- /src/plugins/geoservices/esri/georoutejsonparser_esri.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2013-2018 Esri 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | 4 | #ifndef GEOROUTEJSONPARSERESRI_H 5 | #define GEOROUTEJSONPARSERESRI_H 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | 12 | QT_BEGIN_NAMESPACE 13 | 14 | class GeoRouteJsonParserEsri 15 | { 16 | public: 17 | GeoRouteJsonParserEsri(const QJsonDocument &document); 18 | 19 | QList routes() const; 20 | bool isValid() const; 21 | QString errorString() const; 22 | 23 | private: 24 | void parseDirections(); 25 | void parseDirection(const QJsonObject &direction); 26 | void parseRoutes(); 27 | void parseRoute(const QJsonObject &route); 28 | 29 | QString m_error; 30 | QMap m_routes; 31 | QJsonObject m_json; 32 | }; 33 | 34 | QT_END_NAMESPACE 35 | 36 | #endif // GEOROUTEJSONPARSERESRI_H 37 | -------------------------------------------------------------------------------- /src/plugins/geoservices/esri/georoutereply_esri.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2013-2018 Esri 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | 4 | #ifndef GEOROUTEREPLYESRI_H 5 | #define GEOROUTEREPLYESRI_H 6 | 7 | #include 8 | #include 9 | 10 | QT_BEGIN_NAMESPACE 11 | 12 | class GeoRouteReplyEsri : public QGeoRouteReply 13 | { 14 | Q_OBJECT 15 | 16 | public: 17 | GeoRouteReplyEsri(QNetworkReply *reply, const QGeoRouteRequest &request, QObject *parent = nullptr); 18 | ~GeoRouteReplyEsri(); 19 | 20 | private Q_SLOTS: 21 | void networkReplyFinished(); 22 | void networkReplyError(QNetworkReply::NetworkError error); 23 | }; 24 | 25 | QT_END_NAMESPACE 26 | 27 | #endif // GEOROUTEREPLYESRI_H 28 | -------------------------------------------------------------------------------- /src/plugins/geoservices/esri/geotiledmapreply_esri.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2013-2018 Esri 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | 4 | #ifndef GEOTILEDMAPREPLYESRI_H 5 | #define GEOTILEDMAPREPLYESRI_H 6 | 7 | #include 8 | 9 | #include 10 | 11 | QT_BEGIN_NAMESPACE 12 | 13 | class GeoTiledMapReplyEsri : public QGeoTiledMapReply 14 | { 15 | Q_OBJECT 16 | 17 | public: 18 | GeoTiledMapReplyEsri(QNetworkReply *reply, const QGeoTileSpec &spec, QObject *parent = nullptr); 19 | ~GeoTiledMapReplyEsri(); 20 | 21 | private Q_SLOTS: 22 | void networkReplyFinished(); 23 | void networkReplyError(QNetworkReply::NetworkError error); 24 | }; 25 | 26 | QT_END_NAMESPACE 27 | 28 | #endif // GEOTILEDMAPREPLYESRI_H 29 | -------------------------------------------------------------------------------- /src/plugins/geoservices/esri/placecategoriesreply_esri.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2013-2018 Esri 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | 4 | #include "placecategoriesreply_esri.h" 5 | 6 | QT_BEGIN_NAMESPACE 7 | 8 | PlaceCategoriesReplyEsri::PlaceCategoriesReplyEsri(QObject *parent) : 9 | QPlaceReply(parent) 10 | { 11 | } 12 | 13 | PlaceCategoriesReplyEsri::~PlaceCategoriesReplyEsri() 14 | { 15 | } 16 | 17 | void PlaceCategoriesReplyEsri::emitFinished() 18 | { 19 | setFinished(true); 20 | emit finished(); 21 | } 22 | 23 | void PlaceCategoriesReplyEsri::setError(QPlaceReply::Error errorCode, const QString &errorString) 24 | { 25 | QPlaceReply::setError(errorCode, errorString); 26 | emit errorOccurred(errorCode, errorString); 27 | } 28 | 29 | QT_END_NAMESPACE 30 | -------------------------------------------------------------------------------- /src/plugins/geoservices/esri/placecategoriesreply_esri.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2013-2018 Esri 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | 4 | #ifndef PLACECATEGORIESREPLYESRI_H 5 | #define PLACECATEGORIESREPLYESRI_H 6 | 7 | #include 8 | 9 | QT_BEGIN_NAMESPACE 10 | 11 | class PlaceCategoriesReplyEsri : public QPlaceReply 12 | { 13 | Q_OBJECT 14 | 15 | public: 16 | explicit PlaceCategoriesReplyEsri(QObject *parent = nullptr); 17 | ~PlaceCategoriesReplyEsri(); 18 | 19 | void emitFinished(); 20 | void setError(QPlaceReply::Error errorCode, const QString &errorString); 21 | }; 22 | 23 | QT_END_NAMESPACE 24 | 25 | #endif // PLACECATEGORIESREPLYESRI_H 26 | -------------------------------------------------------------------------------- /src/plugins/geoservices/itemsoverlay/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | qt_internal_add_plugin(QGeoServiceProviderFactoryItemsOverlayPlugin 2 | OUTPUT_NAME qtgeoservices_itemsoverlay 3 | CLASS_NAME QGeoServiceProviderFactoryItemsOverlay 4 | PLUGIN_TYPE geoservices 5 | SOURCES 6 | qgeomapitemsoverlay.h qgeomapitemsoverlay.cpp 7 | qgeomappingmanagerengineitemsoverlay.h qgeomappingmanagerengineitemsoverlay.cpp 8 | qgeoserviceproviderpluginitemsoverlay.h qgeoserviceproviderpluginitemsoverlay.cpp 9 | LIBRARIES 10 | Qt::Core 11 | Qt::LocationPrivate 12 | Qt::PositioningPrivate 13 | ) 14 | -------------------------------------------------------------------------------- /src/plugins/geoservices/itemsoverlay/itemsoverlay_plugin.json: -------------------------------------------------------------------------------- 1 | { 2 | "Keys": ["itemsoverlay"], 3 | "Provider": "itemsoverlay", 4 | "Version": 100, 5 | "Experimental": false, 6 | "Features": [ 7 | "OfflineMappingFeature" 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /src/plugins/geoservices/itemsoverlay/qgeomapitemsoverlay.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2017 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | 4 | 5 | #ifndef QGEOMAPITEMSOVERLAY_H 6 | #define QGEOMAPITEMSOVERLAY_H 7 | 8 | #include 9 | #include 10 | 11 | QT_BEGIN_NAMESPACE 12 | 13 | class QGeoMappingManagerEngineItemsOverlay; 14 | class QGeoMapItemsOverlayPrivate; 15 | class QGeoMapItemsOverlay: public QGeoMap 16 | { 17 | Q_OBJECT 18 | Q_DECLARE_PRIVATE(QGeoMapItemsOverlay) 19 | public: 20 | QGeoMapItemsOverlay(QGeoMappingManagerEngineItemsOverlay *engine, QObject *parent); 21 | virtual ~QGeoMapItemsOverlay(); 22 | 23 | QGeoMap::Capabilities capabilities() const override; 24 | 25 | protected: 26 | QSGNode *updateSceneGraph(QSGNode *node, QQuickWindow *window) override; 27 | 28 | private: 29 | Q_DISABLE_COPY(QGeoMapItemsOverlay) 30 | }; 31 | 32 | QT_END_NAMESPACE 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /src/plugins/geoservices/itemsoverlay/qgeomappingmanagerengineitemsoverlay.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2014 Canonical Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | 4 | #ifndef QGEOMAPPINGMANAGERENGINEITEMSOVERLAY_H 5 | #define QGEOMAPPINGMANAGERENGINEITEMSOVERLAY_H 6 | 7 | #include 8 | #include 9 | 10 | QT_BEGIN_NAMESPACE 11 | 12 | class QGeoMappingManagerEngineItemsOverlay : public QGeoMappingManagerEngine 13 | { 14 | Q_OBJECT 15 | 16 | public: 17 | QGeoMappingManagerEngineItemsOverlay(const QVariantMap ¶meters, 18 | QGeoServiceProvider::Error *error, QString *errorString); 19 | ~QGeoMappingManagerEngineItemsOverlay(); 20 | 21 | QGeoMap *createMap() override; 22 | }; 23 | 24 | QT_END_NAMESPACE 25 | 26 | #endif // QGEOMAPPINGMANAGERENGINENOMAP_H 27 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/aerialway.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/america-football.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/art-gallery.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/barrier.svg: -------------------------------------------------------------------------------- 1 | 2 | barrier-15 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/blood-bank.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | blood-bank-15 6 | 8 | 9 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/building-alt1.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | buildings 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/building.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/cafe.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/car.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/cemetery.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/circle.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/college.svg: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/commercial.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/cross.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/defibrillator.svg: -------------------------------------------------------------------------------- 1 | 2 | defibrillator-15 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/dentist.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/drinking-water.svg: -------------------------------------------------------------------------------- 1 | 2 | drinking-water-15 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/emergency-phone.svg: -------------------------------------------------------------------------------- 1 | 2 | emergency-phone-15 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/entrance-alt1.svg: -------------------------------------------------------------------------------- 1 | 2 | entrance-alt1-15 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/entrance.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/farm.svg: -------------------------------------------------------------------------------- 1 | 2 | farm-15 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/fence.svg: -------------------------------------------------------------------------------- 1 | 2 | fence-15 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/gaming.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | gaming 6 | 11 | 12 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/garden.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/heart.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 8 | 9 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/home.svg: -------------------------------------------------------------------------------- 1 | 3 | 8 | 9 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/horse-riding.svg: -------------------------------------------------------------------------------- 1 | 2 | horse-riding-15 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/ice-cream.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/industry.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/karaoke.svg: -------------------------------------------------------------------------------- 1 | 2 | karaoke 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/landmark.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | landmark 9 | 10 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/landuse.svg: -------------------------------------------------------------------------------- 1 | 2 | landuse-15 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/lighthouse.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/marker-stroked.svg: -------------------------------------------------------------------------------- 1 | 2 | marker-stroked-15 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/mobile-phone.svg: -------------------------------------------------------------------------------- 1 | 2 | mobile-phone-15 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/music.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/parking.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/pharmacy.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/pitch.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/post.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/recycling.svg: -------------------------------------------------------------------------------- 1 | 2 | recycling-15 3 | 10 | 11 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/religious-jewish.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/residential-community.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | buildings 6 | 8 | 9 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/roadblock.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/school.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/scooter.svg: -------------------------------------------------------------------------------- 1 | 2 | scooter-15 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/shelter.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/slaughterhouse.svg: -------------------------------------------------------------------------------- 1 | 2 | slaughterhouse-15-01 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/snowmobile.svg: -------------------------------------------------------------------------------- 1 | 2 | snowmobile-15 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/square-stroked.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 8 | 9 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/square.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/star-stroked.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/teahouse.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/telephone.svg: -------------------------------------------------------------------------------- 1 | 2 | telephone-15 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/town.svg: -------------------------------------------------------------------------------- 1 | 2 | town-15 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/village.svg: -------------------------------------------------------------------------------- 1 | 2 | village-15 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/warehouse.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/waste-basket.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/maki-4.0.0/water.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/mapbox_plugin.json: -------------------------------------------------------------------------------- 1 | { 2 | "Keys": ["mapbox"], 3 | "Provider": "mapbox", 4 | "Version": 100, 5 | "Experimental": false, 6 | "Features": [ 7 | "OnlineMappingFeature", 8 | "OnlineRoutingFeature", 9 | "OnlinePlacesFeature", 10 | "PlaceRecommendationsFeature", 11 | "SearchSuggestionsFeature", 12 | "LocalizedPlacesFeature", 13 | "OnlineGeocodingFeature", 14 | "ReverseGeocodingFeature", 15 | "LocalizedGeocodingFeature" 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/qgeocodereplymapbox.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2017 Mapbox, Inc. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | 4 | #ifndef QGEOCODEREPLYMAPBOX_H 5 | #define QGEOCODEREPLYMAPBOX_H 6 | 7 | #include 8 | #include 9 | 10 | QT_BEGIN_NAMESPACE 11 | 12 | class QGeoCodeReplyMapbox : public QGeoCodeReply 13 | { 14 | Q_OBJECT 15 | 16 | public: 17 | explicit QGeoCodeReplyMapbox(QNetworkReply *reply, QObject *parent = nullptr); 18 | ~QGeoCodeReplyMapbox(); 19 | 20 | private Q_SLOTS: 21 | void onNetworkReplyFinished(); 22 | void onNetworkReplyError(QNetworkReply::NetworkError error); 23 | }; 24 | 25 | QT_END_NAMESPACE 26 | 27 | #endif // QGEOCODEREPLYMAPBOX_H 28 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/qgeomapreplymapbox.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2014 Canonical Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | 4 | #ifndef QGEOMAPREPLYMAPBOX_H 5 | #define QGEOMAPREPLYMAPBOX_H 6 | 7 | #include 8 | #include 9 | #include 10 | 11 | QT_BEGIN_NAMESPACE 12 | 13 | class QGeoMapReplyMapbox : public QGeoTiledMapReply 14 | { 15 | Q_OBJECT 16 | 17 | public: 18 | explicit QGeoMapReplyMapbox(QNetworkReply *reply, const QGeoTileSpec &spec, const QString &format, QObject *parent = nullptr); 19 | ~QGeoMapReplyMapbox(); 20 | 21 | private Q_SLOTS: 22 | void networkReplyFinished(); 23 | void networkReplyError(QNetworkReply::NetworkError error); 24 | 25 | private: 26 | QString m_format; 27 | }; 28 | 29 | QT_END_NAMESPACE 30 | 31 | #endif // QGEOMAPREPLYMAPBOX_H 32 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/qgeoroutereplymapbox.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2016 Vlad Seryakov 2 | // Copyright (C) 2016 Aaron McCarthy 3 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 4 | 5 | #ifndef QGEOROUTEREPLYMAPBOX_H 6 | #define QGEOROUTEREPLYMAPBOX_H 7 | 8 | #include 9 | #include 10 | 11 | QT_BEGIN_NAMESPACE 12 | 13 | class QGeoRouteReplyMapbox : public QGeoRouteReply 14 | { 15 | Q_OBJECT 16 | 17 | public: 18 | QGeoRouteReplyMapbox(QNetworkReply *reply, const QGeoRouteRequest &request, QObject *parent = nullptr); 19 | ~QGeoRouteReplyMapbox(); 20 | 21 | private Q_SLOTS: 22 | void networkReplyFinished(); 23 | void networkReplyError(QNetworkReply::NetworkError error); 24 | }; 25 | 26 | QT_END_NAMESPACE 27 | 28 | #endif // QGEOROUTEREPLYMAPBOX_H 29 | 30 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/qgeotiledmappingmanagerenginemapbox.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2014 Canonical Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | 4 | #ifndef QGEOTILEDMAPPINGMANAGERENGINEMAPBOX_H 5 | #define QGEOTILEDMAPPINGMANAGERENGINEMAPBOX_H 6 | 7 | #include 8 | 9 | #include 10 | 11 | QT_BEGIN_NAMESPACE 12 | 13 | class QGeoTiledMappingManagerEngineMapbox : public QGeoTiledMappingManagerEngine 14 | { 15 | Q_OBJECT 16 | 17 | public: 18 | QGeoTiledMappingManagerEngineMapbox(const QVariantMap ¶meters, 19 | QGeoServiceProvider::Error *error, QString *errorString); 20 | ~QGeoTiledMappingManagerEngineMapbox(); 21 | 22 | QGeoMap *createMap() override; 23 | 24 | private: 25 | QString m_cacheDirectory; 26 | }; 27 | 28 | QT_END_NAMESPACE 29 | 30 | #endif // QGEOTILEDMAPPINGMANAGERENGINEMAPBOX_H 31 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/qplacecategoriesreplymapbox.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2017 Mapbox, Inc. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | 4 | #include "qplacecategoriesreplymapbox.h" 5 | 6 | QT_BEGIN_NAMESPACE 7 | 8 | QPlaceCategoriesReplyMapbox::QPlaceCategoriesReplyMapbox(QObject *parent) 9 | : QPlaceReply(parent) 10 | { 11 | } 12 | 13 | QPlaceCategoriesReplyMapbox::~QPlaceCategoriesReplyMapbox() 14 | { 15 | } 16 | 17 | void QPlaceCategoriesReplyMapbox::finish() 18 | { 19 | setFinished(true); 20 | emit finished(); 21 | } 22 | 23 | void QPlaceCategoriesReplyMapbox::setError(QPlaceReply::Error errorCode, const QString &errorString) 24 | { 25 | QPlaceReply::setError(errorCode, errorString); 26 | emit errorOccurred(errorCode, errorString); 27 | finish(); 28 | } 29 | 30 | QT_END_NAMESPACE 31 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapbox/qplacecategoriesreplymapbox.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2017 Mapbox, Inc. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | 4 | #ifndef QPLACECATEGORIESREPLYMAPBOX_H 5 | #define QPLACECATEGORIESREPLYMAPBOX_H 6 | 7 | #include 8 | 9 | QT_BEGIN_NAMESPACE 10 | 11 | class QPlaceCategoriesReplyMapbox : public QPlaceReply 12 | { 13 | Q_OBJECT 14 | 15 | public: 16 | explicit QPlaceCategoriesReplyMapbox(QObject *parent = nullptr); 17 | ~QPlaceCategoriesReplyMapbox(); 18 | 19 | public slots: 20 | void finish(); 21 | void setError(QPlaceReply::Error errorCode, const QString &errorString); 22 | }; 23 | 24 | QT_END_NAMESPACE 25 | 26 | #endif // QPLACECATEGORIESREPLYMAPBOX_H 27 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapboxgl/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtlocation/HEAD/src/plugins/geoservices/mapboxgl/logo.png -------------------------------------------------------------------------------- /src/plugins/geoservices/mapboxgl/mapboxgl.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | logo.png 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/plugins/geoservices/mapboxgl/mapboxgl_plugin.json: -------------------------------------------------------------------------------- 1 | { 2 | "Keys": ["mapboxgl"], 3 | "Provider": "mapboxgl", 4 | "Version": 100, 5 | "Experimental": false, 6 | "Features": [ 7 | "OnlineMappingFeature", 8 | "OfflineMappingFeature", 9 | "LocalizedMappingFeature" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /src/plugins/geoservices/nokia/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtlocation/HEAD/src/plugins/geoservices/nokia/logo.png -------------------------------------------------------------------------------- /src/plugins/geoservices/nokia/nokia.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | logo.png 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/plugins/geoservices/nokia/nokia_plugin.json: -------------------------------------------------------------------------------- 1 | { 2 | "Keys": ["here"], 3 | "Provider": "here", 4 | "Version": 101, 5 | "Experimental": false, 6 | "Features": [ 7 | "OnlineRoutingFeature", 8 | "RouteUpdatesFeature", 9 | "AlternativeRoutesFeature", 10 | "ExcludeAreasRoutingFeature", 11 | "OnlineGeocodingFeature", 12 | "OnlineMappingFeature", 13 | "OnlinePlacesFeature", 14 | "ReverseGeocodingFeature", 15 | "PlaceRecommendationsFeature", 16 | "SearchSuggestionsFeature", 17 | "LocalizedPlacesFeature" 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /src/plugins/geoservices/nokia/placesv2/placesv2.pri: -------------------------------------------------------------------------------- 1 | QT *= location network 2 | 3 | HEADERS += \ 4 | qplacemanagerengine_nokiav2.h \ 5 | placesv2/qplacecategoriesreplyhere.h \ 6 | placesv2/qplacecontentreplyimpl.h \ 7 | placesv2/qplacedetailsreplyimpl.h \ 8 | placesv2/qplaceidreplyimpl.h \ 9 | placesv2/qplacesearchreplyhere.h \ 10 | placesv2/qplacesearchsuggestionreplyimpl.h \ 11 | placesv2/jsonparserhelpers.h 12 | 13 | SOURCES += \ 14 | qplacemanagerengine_nokiav2.cpp \ 15 | placesv2/qplacecategoriesreplyhere.cpp \ 16 | placesv2/qplacecontentreplyimpl.cpp \ 17 | placesv2/qplacedetailsreplyimpl.cpp \ 18 | placesv2/qplaceidreplyimpl.cpp \ 19 | placesv2/qplacesearchreplyhere.cpp \ 20 | placesv2/qplacesearchsuggestionreplyimpl.cpp \ 21 | placesv2/jsonparserhelpers.cpp 22 | -------------------------------------------------------------------------------- /src/plugins/geoservices/nokia/placesv2/qplacecategoriesreplyhere.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | 4 | #include "qplacecategoriesreplyhere.h" 5 | 6 | QT_BEGIN_NAMESPACE 7 | 8 | QPlaceCategoriesReplyHere::QPlaceCategoriesReplyHere(QObject *parent) 9 | : QPlaceReply(parent) 10 | { 11 | } 12 | 13 | QPlaceCategoriesReplyHere::~QPlaceCategoriesReplyHere() 14 | { 15 | } 16 | 17 | void QPlaceCategoriesReplyHere::emitFinished() 18 | { 19 | setFinished(true); 20 | emit finished(); 21 | } 22 | 23 | void QPlaceCategoriesReplyHere::setError(QPlaceReply::Error error_, const QString &errorString) 24 | { 25 | QPlaceReply::setError(error_, errorString); 26 | emit errorOccurred(error_, errorString); 27 | } 28 | 29 | QT_END_NAMESPACE 30 | -------------------------------------------------------------------------------- /src/plugins/geoservices/nokia/placesv2/qplacecategoriesreplyhere.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | 4 | #ifndef QPLACECATEGORIESREPLYHERE_H 5 | #define QPLACECATEGORIESREPLYHERE_H 6 | 7 | #include 8 | 9 | QT_BEGIN_NAMESPACE 10 | 11 | class QPlaceCategoriesReplyHere : public QPlaceReply 12 | { 13 | Q_OBJECT 14 | 15 | public: 16 | explicit QPlaceCategoriesReplyHere(QObject *parent = nullptr); 17 | ~QPlaceCategoriesReplyHere(); 18 | 19 | void emitFinished(); 20 | 21 | private slots: 22 | void setError(QPlaceReply::Error error_, const QString &errorString); 23 | }; 24 | 25 | QT_END_NAMESPACE 26 | 27 | #endif // QPLACECATEGORIESREPLYHERE_H 28 | -------------------------------------------------------------------------------- /src/plugins/geoservices/nokia/placesv2/qplacesearchsuggestionreplyimpl.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | 4 | #ifndef QPLACESEARCHSUGGESTIONREPLYIMPL_H 5 | #define QPLACESEARCHSUGGESTIONREPLYIMPL_H 6 | 7 | #include 8 | #include 9 | 10 | QT_BEGIN_NAMESPACE 11 | 12 | class QPlaceSearchSuggestionReplyImpl : public QPlaceSearchSuggestionReply 13 | { 14 | Q_OBJECT 15 | 16 | public: 17 | explicit QPlaceSearchSuggestionReplyImpl(QNetworkReply *reply, QObject *parent = nullptr); 18 | ~QPlaceSearchSuggestionReplyImpl(); 19 | 20 | private slots: 21 | void setError(QPlaceReply::Error error_, const QString &errorString); 22 | void replyFinished(); 23 | void replyError(QNetworkReply::NetworkError error); 24 | }; 25 | 26 | QT_END_NAMESPACE 27 | 28 | #endif // QPLACESEARCHSUGGESTIONREPLYIMPL_H 29 | -------------------------------------------------------------------------------- /src/plugins/geoservices/nokia/qgeocodereply_nokia.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | 4 | #ifndef QGEOCODEREPLY_NOKIA_H 5 | #define QGEOCODEREPLY_NOKIA_H 6 | 7 | #include 8 | #include 9 | 10 | QT_BEGIN_NAMESPACE 11 | 12 | class QGeoCodeReplyNokia : public QGeoCodeReply 13 | { 14 | Q_OBJECT 15 | public: 16 | QGeoCodeReplyNokia(QNetworkReply *reply, int limit, int offset, const QGeoShape &viewport, 17 | bool manualBoundsRequired, QObject *parent = nullptr); 18 | ~QGeoCodeReplyNokia(); 19 | 20 | private Q_SLOTS: 21 | void networkFinished(); 22 | void networkError(QNetworkReply::NetworkError error); 23 | void appendResults(const QList &locations); 24 | void parseError(const QString &errorString); 25 | 26 | private: 27 | bool m_parsing; 28 | bool m_manualBoundsRequired; 29 | }; 30 | 31 | QT_END_NAMESPACE 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /src/plugins/geoservices/nokia/qgeoerror_messages.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | 4 | #ifndef QGEOERROR_MESSAGES_H 5 | #define QGEOERROR_MESSAGES_H 6 | 7 | #include 8 | 9 | QT_BEGIN_NAMESPACE 10 | 11 | extern const char NOKIA_PLUGIN_CONTEXT_NAME[]; 12 | extern const char MISSED_CREDENTIALS[]; 13 | extern const char SAVING_PLACE_NOT_SUPPORTED[]; 14 | extern const char REMOVING_PLACE_NOT_SUPPORTED[]; 15 | extern const char SAVING_CATEGORY_NOT_SUPPORTED[]; 16 | extern const char REMOVING_CATEGORY_NOT_SUPPORTED[]; 17 | extern const char PARSE_ERROR[]; 18 | extern const char NETWORK_ERROR[]; 19 | extern const char CANCEL_ERROR[]; 20 | extern const char RESPONSE_NOT_RECOGNIZABLE[]; 21 | 22 | QT_END_NAMESPACE 23 | 24 | #endif // QGEOERROR_MESSAGES_H 25 | -------------------------------------------------------------------------------- /src/plugins/geoservices/nokia/qgeofiletilecachenokia.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2016 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | 4 | #ifndef QGEOFILETILECACHENOKIA_H 5 | #define QGEOFILETILECACHENOKIA_H 6 | 7 | #include 8 | 9 | QT_BEGIN_NAMESPACE 10 | 11 | class QGeoFileTileCacheNokia : public QGeoFileTileCache 12 | { 13 | Q_OBJECT 14 | public: 15 | QGeoFileTileCacheNokia(int ppi, const QString &directory = QString(), 16 | QObject *parent = nullptr); 17 | ~QGeoFileTileCacheNokia(); 18 | 19 | protected: 20 | QString tileSpecToFilename(const QGeoTileSpec &spec, const QString &format, 21 | const QString &directory) const override; 22 | QGeoTileSpec filenameToTileSpec(const QString &filename) const override; 23 | 24 | QString m_ppi; 25 | }; 26 | 27 | QT_END_NAMESPACE 28 | 29 | #endif // QGEOFILETILECACHENOKIA_H 30 | -------------------------------------------------------------------------------- /src/plugins/geoservices/nokia/qgeomapreply_nokia.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | 4 | #ifndef QGEOMAPREPLY_NOKIA_H 5 | #define QGEOMAPREPLY_NOKIA_H 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | 12 | QT_BEGIN_NAMESPACE 13 | 14 | class QGeoMapReplyNokia : public QGeoTiledMapReply 15 | { 16 | Q_OBJECT 17 | 18 | public: 19 | QGeoMapReplyNokia(QNetworkReply *reply, const QGeoTileSpec &spec, QObject *parent = nullptr); 20 | ~QGeoMapReplyNokia(); 21 | 22 | private Q_SLOTS: 23 | void networkFinished(); 24 | void networkError(QNetworkReply::NetworkError error); 25 | }; 26 | 27 | QT_END_NAMESPACE 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /src/plugins/geoservices/nokia/qgeomapversion.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2014 Appello Systems AB. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | 4 | #ifndef QGEOMAPVERSION_H 5 | #define QGEOMAPVERSION_H 6 | 7 | #include 8 | #include 9 | 10 | QT_BEGIN_NAMESPACE 11 | 12 | class QGeoMapVersion 13 | { 14 | 15 | public: 16 | QGeoMapVersion(); 17 | bool isNewVersion(const QJsonObject &newVersionData) const; 18 | int version() const; 19 | void setVersion(const int); 20 | void setVersionData(const QJsonObject &versionData); 21 | QByteArray toJson() const; 22 | 23 | private: 24 | int m_version; 25 | QJsonObject m_versionData; 26 | }; 27 | 28 | QT_END_NAMESPACE 29 | 30 | #endif // QGEOMAPVERSION_H 31 | -------------------------------------------------------------------------------- /src/plugins/geoservices/nokia/qgeonetworkaccessmanager.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | 4 | #ifndef QGEONETWORKACCESSMANAGER_H 5 | #define QGEONETWORKACCESSMANAGER_H 6 | 7 | #include 8 | 9 | QT_BEGIN_NAMESPACE 10 | 11 | class QNetworkReply; 12 | class QNetworkRequest; 13 | class QByteArray; 14 | 15 | class QGeoNetworkAccessManager : public QObject 16 | { 17 | Q_OBJECT 18 | public: 19 | virtual ~QGeoNetworkAccessManager() {} 20 | virtual QNetworkReply *get(const QNetworkRequest &request) = 0; 21 | virtual QNetworkReply *post(const QNetworkRequest &request, const QByteArray &data) = 0; 22 | 23 | protected: 24 | QGeoNetworkAccessManager(QObject *parent) : QObject(parent) {} 25 | }; 26 | 27 | QT_END_NAMESPACE 28 | 29 | #endif // QGEONETWORKACCESSMANAGER_H 30 | -------------------------------------------------------------------------------- /src/plugins/geoservices/nokia/qgeoroutereply_nokia.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | 4 | #ifndef QGEOROUTEREPLY_NOKIA_H 5 | #define QGEOROUTEREPLY_NOKIA_H 6 | 7 | #include 8 | #include 9 | 10 | QT_BEGIN_NAMESPACE 11 | 12 | class QGeoRouteXmlParser; 13 | 14 | class QGeoRouteReplyNokia : public QGeoRouteReply 15 | { 16 | Q_OBJECT 17 | public: 18 | QGeoRouteReplyNokia(const QGeoRouteRequest &request, const QList &replies, 19 | QObject *parent = nullptr); 20 | ~QGeoRouteReplyNokia(); 21 | 22 | private Q_SLOTS: 23 | void networkFinished(); 24 | void networkError(QNetworkReply::NetworkError error); 25 | void appendResults(const QList &routes); 26 | void parserError(const QString &errorString); 27 | 28 | private: 29 | int m_parsers; 30 | }; 31 | 32 | QT_END_NAMESPACE 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /src/plugins/geoservices/nokia/uri_constants.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | #include "uri_constants.h" 4 | 5 | QT_BEGIN_NAMESPACE 6 | 7 | const QString ROUTING_HOST = QLatin1String("route.ls.hereapi.com"); 8 | const QString GEOCODING_HOST = QLatin1String("geocoder.ls.hereapi.com"); 9 | const QString REVERSE_GEOCODING_HOST = QLatin1String("reverse.geocoder.ls.hereapi.com"); 10 | const QString PLACES_HOST = QLatin1String("places.ls.hereapi.com"); 11 | const QString MAP_TILES_HOST = QLatin1String("1-4.base.maps.ls.hereapi.com"); 12 | const QString MAP_TILES_HOST_AERIAL = QLatin1String("1-4.aerial.maps.ls.hereapi.com"); 13 | 14 | QT_END_NAMESPACE 15 | -------------------------------------------------------------------------------- /src/plugins/geoservices/nokia/uri_constants.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | #ifndef URI_CONSTANTS_H 4 | #define URI_CONSTANTS_H 5 | 6 | #include 7 | 8 | QT_BEGIN_NAMESPACE 9 | 10 | extern const QString ROUTING_HOST; 11 | extern const QString GEOCODING_HOST; 12 | extern const QString REVERSE_GEOCODING_HOST; 13 | extern const QString PLACES_HOST; 14 | extern const QString MAP_TILES_HOST; 15 | extern const QString MAP_TILES_HOST_AERIAL; 16 | 17 | QT_END_NAMESPACE 18 | 19 | #endif // URI_CONSTANTS_H 20 | -------------------------------------------------------------------------------- /src/plugins/geoservices/osm/osm_plugin.json: -------------------------------------------------------------------------------- 1 | { 2 | "Keys": ["osm"], 3 | "Provider": "osm", 4 | "Version": 100, 5 | "Experimental": false, 6 | "Features": [ 7 | "OnlineMappingFeature", 8 | "OnlineGeocodingFeature", 9 | "ReverseGeocodingFeature", 10 | "OnlineRoutingFeature", 11 | "OnlinePlacesFeature" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /src/plugins/geoservices/osm/providers/5.8/cycle: -------------------------------------------------------------------------------- 1 | { 2 | "UrlTemplate" : "http://a.tile.thunderforest.com/cycle/%z/%x/%y.png", 3 | "ImageFormat" : "png", 4 | "QImageFormat" : "Indexed8", 5 | "ID" : "thf-cycle", 6 | "MapCopyRight" : "Thunderforest", 7 | "DataCopyRight" : "OpenStreetMap contributors" 8 | } 9 | -------------------------------------------------------------------------------- /src/plugins/geoservices/osm/providers/5.8/hiking: -------------------------------------------------------------------------------- 1 | { 2 | "UrlTemplate" : "http://b.tiles.wmflabs.org/hikebike/%z/%x/%y.png", 3 | "ImageFormat" : "png", 4 | "QImageFormat" : "Indexed8", 5 | "ID" : "wmf-hike", 6 | "MaximumZoomLevel" : 18, 7 | "MapCopyRight" : "WikiMedia Foundation", 8 | "DataCopyRight" : "OpenStreetMap contributors" 9 | } 10 | -------------------------------------------------------------------------------- /src/plugins/geoservices/osm/providers/5.8/night-transit: -------------------------------------------------------------------------------- 1 | { 2 | "UrlTemplate" : "http://a.tile.thunderforest.com/transport-dark/%z/%x/%y.png", 3 | "ImageFormat" : "png", 4 | "QImageFormat" : "Indexed8", 5 | "ID" : "thf-nighttransit", 6 | "MaximumZoomLevel" : 19, 7 | "MapCopyRight" : "Thunderforest", 8 | "DataCopyRight" : "OpenStreetMap contributors" 9 | } 10 | -------------------------------------------------------------------------------- /src/plugins/geoservices/osm/providers/5.8/satellite: -------------------------------------------------------------------------------- 1 | { 2 | "Enabled" : false, 3 | "UrlTemplate" : "http://basemap.nationalmap.gov/arcgis/rest/services/USGSImageryOnly/MapServer/tile/%z/%y/%x", 4 | "ImageFormat" : "jpg", 5 | "QImageFormat" : "RGB888", 6 | "ID" : "usgs-l7", 7 | "MaximumZoomLevel" : 8, 8 | "MapCopyRight" : "USGS The National Map: Orthoimagery", 9 | "DataCopyRight" : "USGS/NASA Landsat" 10 | } 11 | -------------------------------------------------------------------------------- /src/plugins/geoservices/osm/providers/5.8/street: -------------------------------------------------------------------------------- 1 | { 2 | "UrlTemplate" : "http://korona.geog.uni-heidelberg.de/tiles/roads/x=%x&y=%y&z=%z", 3 | "ImageFormat" : "jpg", 4 | "QImageFormat" : "Indexed8", 5 | "ID" : "oms-street", 6 | "MaximumZoomLevel" : 20, 7 | "MapCopyRight" : "GIScience Research Group @ University of Heidelberg", 8 | "StyleCopyRight" : "Maxim Rylov", 9 | "DataCopyRight" : "OpenStreetMap contributors" 10 | } 11 | -------------------------------------------------------------------------------- /src/plugins/geoservices/osm/providers/5.8/street-hires: -------------------------------------------------------------------------------- 1 | { 2 | "UrlTemplate" : "https://maps.wikimedia.org/osm-intl/%z/%x/%y@2x.png", 3 | "ImageFormat" : "png", 4 | "QImageFormat" : "Indexed8", 5 | "MaximumZoomLevel" : 18, 6 | "ID" : "wmf-intl-2x", 7 | "MapCopyRight" : "WikiMedia Foundation", 8 | "DataCopyRight" : "OpenStreetMap contributors" 9 | } 10 | -------------------------------------------------------------------------------- /src/plugins/geoservices/osm/providers/5.8/terrain: -------------------------------------------------------------------------------- 1 | { 2 | "UrlTemplate" : "http://a.tile.thunderforest.com/landscape/%z/%x/%y.png", 3 | "ImageFormat" : "png", 4 | "QImageFormat" : "Indexed8", 5 | "ID" : "thf-landsc", 6 | "MaximumZoomLevel" : 19, 7 | "MapCopyRight" : "Thunderforest", 8 | "DataCopyRight" : "OpenStreetMap contributors" 9 | } 10 | -------------------------------------------------------------------------------- /src/plugins/geoservices/osm/providers/5.8/transit: -------------------------------------------------------------------------------- 1 | { 2 | "UrlTemplate" : "http://a.tile.thunderforest.com/transport/%z/%x/%y.png", 3 | "ImageFormat" : "png", 4 | "QImageFormat" : "Indexed8", 5 | "ID" : "thf-transit", 6 | "MaximumZoomLevel" : 19, 7 | "MapCopyRight" : "Thunderforest", 8 | "DataCopyRight" : "OpenStreetMap contributors" 9 | } 10 | -------------------------------------------------------------------------------- /src/plugins/geoservices/osm/qgeocodereplyosm.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2016 Aaron McCarthy 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | 4 | #ifndef QGEOCODEREPLYOSM_H 5 | #define QGEOCODEREPLYOSM_H 6 | 7 | #include 8 | #include 9 | #include 10 | 11 | QT_BEGIN_NAMESPACE 12 | 13 | class QGeoCodeReplyOsm : public QGeoCodeReply 14 | { 15 | Q_OBJECT 16 | 17 | public: 18 | explicit QGeoCodeReplyOsm(QNetworkReply *reply, bool includeExtraData = false, 19 | QObject *parent = nullptr); 20 | ~QGeoCodeReplyOsm(); 21 | 22 | private Q_SLOTS: 23 | void networkReplyFinished(); 24 | void networkReplyError(QNetworkReply::NetworkError error); 25 | 26 | private: 27 | bool m_includeExtraData = false; 28 | }; 29 | 30 | QT_END_NAMESPACE 31 | 32 | #endif // QGEOCODEREPLYOSM_H 33 | -------------------------------------------------------------------------------- /src/plugins/geoservices/osm/qgeomapreplyosm.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2016 Aaron McCarthy 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | 4 | #ifndef QGEOMAPREPLYOSM_H 5 | #define QGEOMAPREPLYOSM_H 6 | 7 | #include 8 | #include 9 | 10 | QT_BEGIN_NAMESPACE 11 | 12 | class QGeoMapReplyOsm : public QGeoTiledMapReply 13 | { 14 | Q_OBJECT 15 | 16 | public: 17 | QGeoMapReplyOsm(QNetworkReply *reply, const QGeoTileSpec &spec, const QString &imageFormat, 18 | QObject *parent = nullptr); 19 | ~QGeoMapReplyOsm(); 20 | 21 | private Q_SLOTS: 22 | void networkReplyFinished(); 23 | void networkReplyError(QNetworkReply::NetworkError error); 24 | }; 25 | 26 | QT_END_NAMESPACE 27 | 28 | #endif // QGEOMAPREPLYOSM_H 29 | -------------------------------------------------------------------------------- /src/plugins/geoservices/osm/qgeoroutereplyosm.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2016 Aaron McCarthy 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | 4 | #ifndef QGEOROUTEREPLYOSM_H 5 | #define QGEOROUTEREPLYOSM_H 6 | 7 | #include 8 | #include 9 | 10 | QT_BEGIN_NAMESPACE 11 | 12 | class QGeoRouteReplyOsm : public QGeoRouteReply 13 | { 14 | Q_OBJECT 15 | 16 | public: 17 | QGeoRouteReplyOsm(QNetworkReply *reply, const QGeoRouteRequest &request, 18 | QObject *parent = nullptr); 19 | ~QGeoRouteReplyOsm(); 20 | 21 | private Q_SLOTS: 22 | void networkReplyFinished(); 23 | void networkReplyError(QNetworkReply::NetworkError error); 24 | }; 25 | 26 | QT_END_NAMESPACE 27 | 28 | #endif // QGEOROUTEREPLYOSM_H 29 | 30 | -------------------------------------------------------------------------------- /src/plugins/geoservices/osm/qgeotiledmaposm.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2016 Aaron McCarthy 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | 4 | #ifndef QGEOTILEDMAPOSM_H 5 | #define QGEOTILEDMAPOSM_H 6 | 7 | #include "qgeotileproviderosm.h" 8 | 9 | #include 10 | typedef QGeoTiledMap Map; 11 | 12 | QT_BEGIN_NAMESPACE 13 | 14 | class QGeoTiledMappingManagerEngineOsm; 15 | class QGeoTiledMapOsm: public Map 16 | { 17 | Q_OBJECT 18 | 19 | public: 20 | QGeoTiledMapOsm(QGeoTiledMappingManagerEngineOsm *engine, QObject *parent = nullptr); 21 | ~QGeoTiledMapOsm(); 22 | 23 | protected: 24 | void evaluateCopyrights(const QSet &visibleTiles) override; 25 | 26 | protected Q_SLOTS: 27 | void onProviderDataUpdated(const QGeoTileProviderOsm *provider); 28 | 29 | private: 30 | int m_mapId; 31 | QGeoTiledMappingManagerEngineOsm *m_engine; 32 | }; 33 | 34 | QT_END_NAMESPACE 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /src/plugins/geoservices/osm/qplacecategoriesreplyosm.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2016 Aaron McCarthy 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | 4 | #include "qplacecategoriesreplyosm.h" 5 | 6 | QT_BEGIN_NAMESPACE 7 | 8 | QPlaceCategoriesReplyOsm::QPlaceCategoriesReplyOsm(QObject *parent) 9 | : QPlaceReply(parent) 10 | { 11 | } 12 | 13 | QPlaceCategoriesReplyOsm::~QPlaceCategoriesReplyOsm() 14 | { 15 | } 16 | 17 | void QPlaceCategoriesReplyOsm::emitFinished() 18 | { 19 | setFinished(true); 20 | emit finished(); 21 | } 22 | 23 | void QPlaceCategoriesReplyOsm::setError(QPlaceReply::Error errorCode, const QString &errorString) 24 | { 25 | QPlaceReply::setError(errorCode, errorString); 26 | emit errorOccurred(errorCode, errorString); 27 | } 28 | 29 | QT_END_NAMESPACE 30 | -------------------------------------------------------------------------------- /src/plugins/geoservices/osm/qplacecategoriesreplyosm.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2016 Aaron McCarthy 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only 3 | 4 | #ifndef QPLACECATEGORIESREPLYOSM_H 5 | #define QPLACECATEGORIESREPLYOSM_H 6 | 7 | #include 8 | 9 | QT_BEGIN_NAMESPACE 10 | 11 | class QPlaceCategoriesReplyOsm : public QPlaceReply 12 | { 13 | Q_OBJECT 14 | 15 | public: 16 | explicit QPlaceCategoriesReplyOsm(QObject *parent = nullptr); 17 | ~QPlaceCategoriesReplyOsm(); 18 | 19 | void emitFinished(); 20 | void setError(QPlaceReply::Error errorCode, const QString &errorString); 21 | }; 22 | 23 | QT_END_NAMESPACE 24 | 25 | #endif // QPLACECATEGORIESREPLYOSM_H 26 | -------------------------------------------------------------------------------- /tests/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Generated from tests.pro. 2 | 3 | if(QT_BUILD_STANDALONE_TESTS) 4 | # Add qt_find_package calls for extra dependencies that need to be found when building 5 | # the standalone tests here. 6 | endif() 7 | qt_build_tests() 8 | -------------------------------------------------------------------------------- /tests/auto/declarative_location_core/BLACKLIST: -------------------------------------------------------------------------------- 1 | # QTBUG-90244 flaky test 2 | [ReviewModel::test_reset] 3 | windows 4 | 5 | -------------------------------------------------------------------------------- /tests/auto/declarative_location_core/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | file(GLOB_RECURSE test_data_glob 2 | RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} 3 | *.qml) 4 | list(APPEND test_data ${test_data_glob}) 5 | 6 | qt_internal_add_test(tst_declarative_location_core 7 | QMLTEST 8 | SOURCES 9 | main.cpp 10 | LIBRARIES 11 | Qt::Location 12 | Qt::LocationPrivate 13 | Qt::Quick 14 | TESTDATA ${test_data} 15 | ) 16 | -------------------------------------------------------------------------------- /tests/auto/declarative_location_core/main.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2016 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | #include 5 | #include 6 | 7 | static void initializeLibraryPath() 8 | { 9 | #if QT_CONFIG(library) 10 | // Set custom path since CI doesn't install test plugins 11 | #ifdef Q_OS_WIN 12 | QCoreApplication::addLibraryPath(QCoreApplication::applicationDirPath() + 13 | QStringLiteral("/../../../../plugins")); 14 | #else 15 | QCoreApplication::addLibraryPath(QCoreApplication::applicationDirPath() + 16 | QStringLiteral("/../../../plugins")); 17 | #endif 18 | #endif 19 | } 20 | 21 | Q_COREAPP_STARTUP_FUNCTION(initializeLibraryPath) 22 | 23 | QUICK_TEST_MAIN(declarative_location_core) 24 | -------------------------------------------------------------------------------- /tests/auto/declarative_location_core/tst_contactdetail.qml: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2022 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | import QtTest 5 | import QtLocation 6 | 7 | TestCase { 8 | id: testCase 9 | 10 | name: "ContactDetail" 11 | 12 | property contactDetail emptyContactDetail 13 | 14 | function test_empty() { 15 | compare(emptyContactDetail.label, ""); 16 | compare(emptyContactDetail.value, ""); 17 | } 18 | 19 | property contactDetail qmlContactDetail 20 | qmlContactDetail { 21 | label: "Phone" 22 | value: "12345" 23 | } 24 | 25 | function test_qmlConstructedContactDetail() { 26 | compare(qmlContactDetail.label, "Phone"); 27 | compare(qmlContactDetail.value, "12345"); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /tests/auto/declarative_location_core/tst_placeattribute.qml: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2016 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | import QtQuick 5 | import QtTest 6 | import QtLocation 7 | 8 | TestCase { 9 | id: testCase 10 | 11 | name: "PlaceAttribute" 12 | 13 | property placeAttribute testAttribute 14 | 15 | function test_default() { 16 | compare(testAttribute.label, "") 17 | compare(testAttribute.text, "") 18 | } 19 | 20 | property placeAttribute qmlAttribute 21 | qmlAttribute { 22 | label: "Label" 23 | text: "Text" 24 | } 25 | 26 | function test_initialized() { 27 | compare(qmlAttribute.label, "Label") 28 | compare(qmlAttribute.text, "Text") 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /tests/auto/declarative_location_core/tst_ratings.qml: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2016 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | import QtTest 5 | import QtLocation 6 | import "utils.js" as Utils 7 | 8 | TestCase { 9 | id: testCase 10 | 11 | name: "Ratings" 12 | 13 | property ratings emptyRatings 14 | 15 | function test_empty() { 16 | compare(emptyRatings.average, 0.0); 17 | compare(emptyRatings.maximum, 0.0); 18 | compare(emptyRatings.count, 0); 19 | } 20 | 21 | property ratings qmlRatings: ({ average: 3.5, maximum: 5.0, count: 7 }) 22 | 23 | function test_qmlConstructedRatings() { 24 | compare(qmlRatings.average, 3.5); 25 | compare(qmlRatings.maximum, 5.0); 26 | compare(qmlRatings.count, 7); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /tests/auto/declarative_location_core/tst_user.qml: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2016 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | import QtTest 5 | import QtLocation 6 | 7 | TestCase { 8 | id: testCase 9 | 10 | name: "User" 11 | 12 | property user emptyUser 13 | 14 | function test_empty() { 15 | compare(emptyUser.userId, ""); 16 | compare(emptyUser.name, ""); 17 | } 18 | 19 | property user qmlUser 20 | qmlUser { 21 | userId: "testuser" 22 | name: "Test User" 23 | } 24 | 25 | function test_qmlConstructedUser() { 26 | compare(qmlUser.userId, "testuser"); 27 | compare(qmlUser.name, "Test User"); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /tests/auto/declarative_mappolyline/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | file(GLOB_RECURSE test_data_glob 2 | RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} 3 | *.qml) 4 | list(APPEND test_data ${test_data_glob}) 5 | 6 | qt_internal_add_test(tst_declarative_mappolyline 7 | QMLTEST 8 | SOURCES 9 | main.cpp 10 | LIBRARIES 11 | Qt::Location 12 | Qt::Quick 13 | TESTDATA ${test_data} 14 | ) 15 | -------------------------------------------------------------------------------- /tests/auto/declarative_mappolyline/main.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2021 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | #include 5 | QUICK_TEST_MAIN(declarative_mappolyline) 6 | -------------------------------------------------------------------------------- /tests/auto/declarative_ui/BLACKLIST: -------------------------------------------------------------------------------- 1 | [MapKeepGrabAndPreventSteal::test_flick] 2 | macos arm ci 3 | [MapFlick::test_flick_down] 4 | macos arm ci 5 | [MapFlick::test_flick_down_with_filtering] 6 | macos arm ci 7 | [MapFlick::test_flick_up] 8 | macos arm ci 9 | [MapFlick::test_flick_up_with_filtering] 10 | macos arm ci 11 | 12 | -------------------------------------------------------------------------------- /tests/auto/declarative_ui/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | file(GLOB_RECURSE test_data_glob 2 | RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} 3 | tst_*.qml) 4 | list(APPEND test_data ${test_data_glob}) 5 | 6 | qt_internal_add_test(tst_declarative_ui 7 | QMLTEST 8 | SOURCES 9 | main.cpp 10 | LIBRARIES 11 | Qt::Location 12 | Qt::Quick 13 | TESTDATA ${test_data} 14 | ) 15 | -------------------------------------------------------------------------------- /tests/auto/declarative_ui/Delegate.qml: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2025 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | import QtQml 5 | 6 | QtObject { 7 | enum Variants { 8 | None = -1, 9 | Untyped, 10 | Typed 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /tests/auto/declarative_ui/Model.qml: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2025 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | import QtQml 5 | 6 | QtObject { 7 | enum Variants { 8 | None = -1, 9 | Singular, 10 | List, 11 | Array, 12 | Object 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /tests/auto/declarative_ui/main.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2016 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | static void initializeLibraryPath() 9 | { 10 | #if QT_CONFIG(library) 11 | // Set custom path since CI doesn't install test plugins 12 | #ifdef Q_OS_WIN 13 | QCoreApplication::addLibraryPath(QCoreApplication::applicationDirPath() + 14 | QStringLiteral("/../../../../plugins")); 15 | #else 16 | QCoreApplication::addLibraryPath(QCoreApplication::applicationDirPath() + 17 | QStringLiteral("/../../../plugins")); 18 | #endif 19 | #endif 20 | const QByteArray qmlPath = QCoreApplication::applicationDirPath().toLatin1() + 21 | "/../../../qml"; 22 | qputenv("QML_IMPORT_PATH", qmlPath); 23 | } 24 | 25 | Q_COREAPP_STARTUP_FUNCTION(initializeLibraryPath) 26 | 27 | QUICK_TEST_MAIN(declarative_ui) 28 | -------------------------------------------------------------------------------- /tests/auto/declarativetestplugin/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | qt_internal_add_qml_module(declarative_location_test 2 | URI QtLocation.Test 3 | VERSION ${PROJECT_VERSION} 4 | PLUGIN_TARGET declarative_location_test 5 | CLASS_NAME QLocationDeclarativeTestModule 6 | NO_GENERATE_PLUGIN_SOURCE 7 | NO_PLUGIN_OPTIONAL 8 | SOURCES 9 | qdeclarativepinchgenerator_p.h qdeclarativepinchgenerator.cpp 10 | qdeclarativelocationtestmodel_p.h qdeclarativelocationtestmodel.cpp 11 | testhelper.h 12 | locationtest.cpp 13 | LIBRARIES 14 | Qt::Core 15 | Qt::Qml 16 | Qt::Quick 17 | Qt::GuiPrivate 18 | Qt::Test 19 | Qt::Location 20 | Qt::Positioning 21 | NO_GENERATE_CPP_EXPORTS 22 | ) 23 | -------------------------------------------------------------------------------- /tests/auto/declarativetestplugin/qmldir: -------------------------------------------------------------------------------- 1 | module QtLocation.Test 2 | plugin declarative_location_test 3 | classname QLocationDeclarativeTestModule 4 | -------------------------------------------------------------------------------- /tests/auto/declarativetestplugin/testhelper.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | #ifndef TESTHELPER_H 5 | #define TESTHELPER_H 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | 13 | QT_BEGIN_NAMESPACE 14 | 15 | class TestHelper: public QObject 16 | { 17 | Q_OBJECT 18 | public: 19 | TestHelper(QObject *parent = nullptr):QObject(parent){} 20 | Q_INVOKABLE bool waitForPolished(QQuickItem *item, int timeout = 10000) const 21 | { 22 | QSignalSpy spy(item->window(), &QQuickWindow::afterAnimating); 23 | return spy.wait(timeout); 24 | } 25 | 26 | Q_INVOKABLE int x86Bits() const 27 | { 28 | if ( QSysInfo::currentCpuArchitecture() == "x86_64" ) 29 | return 64; 30 | else 31 | return 32; 32 | } 33 | }; 34 | 35 | QT_END_NAMESPACE 36 | 37 | #endif // TESTHELPER_H 38 | -------------------------------------------------------------------------------- /tests/auto/geotestplugin/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | qt_internal_add_plugin(TestGeoServicePlugin 2 | OUTPUT_NAME qtgeoservices_qmltestplugin 3 | CLASS_NAME QGeoServiceProviderFactoryTest 4 | PLUGIN_TYPE geoservices 5 | TEST_PLUGIN 6 | DEFAULT_IF FALSE 7 | SOURCES 8 | qgeocodingmanagerengine_test.h 9 | qgeoserviceproviderplugin_test.h 10 | qgeoroutingmanagerengine_test.h 11 | qplacemanagerengine_test.h 12 | qgeotiledmappingmanagerengine_test.h 13 | qgeotiledmap_test.h 14 | qgeotilefetcher_test.h 15 | qgeoserviceproviderplugin_test.cpp 16 | qgeotiledmap_test.cpp 17 | LIBRARIES 18 | Qt::Core 19 | Qt::LocationPrivate 20 | Qt::PositioningPrivate 21 | Qt::Test 22 | ) 23 | 24 | set(plugin_resource_files 25 | "geotestplugin.json" 26 | "place_data.json" 27 | ) 28 | 29 | qt_internal_add_resource(TestGeoServicePlugin "testdata" 30 | PREFIX 31 | "/" 32 | FILES 33 | ${plugin_resource_files} 34 | ) 35 | -------------------------------------------------------------------------------- /tests/auto/geotestplugin/geotestplugin.json: -------------------------------------------------------------------------------- 1 | { 2 | "Keys": ["qmlgeo.test.plugin"], 3 | "Provider": "qmlgeo.test.plugin", 4 | "Version": 100, 5 | "Experimental": true, 6 | "Features": [ 7 | "OfflineMappingFeature", 8 | "OfflineRoutingFeature", 9 | "AlternativeRoutesFeature", 10 | "ExcludeAreasRoutingFeature", 11 | "RouteUpdatesFeature", 12 | "OfflineGeocodingFeature", 13 | "ReverseGeocodingFeature", 14 | "OfflinePlacesFeature", 15 | "SavePlaceFeature", 16 | "SaveCategoryFeature", 17 | "SearchSuggestionsFeature", 18 | "OfflineNavigationFeature" 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /tests/auto/geotestplugin/qgeotiledmap_test.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2016 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | #ifndef QGEOTILEDMAP_TEST_H 5 | #define QGEOTILEDMAP_TEST_H 6 | 7 | #include 8 | #include 9 | 10 | QT_USE_NAMESPACE 11 | 12 | class QGeoTiledMappingManagerEngineTest; 13 | class QGeoTiledMapTestPrivate; 14 | 15 | struct QGeoTiledMapTestOptions { 16 | bool supportVisibleArea = true; 17 | }; 18 | 19 | class QGeoTiledMapTest: public QGeoTiledMap 20 | { 21 | Q_OBJECT 22 | Q_DECLARE_PRIVATE(QGeoTiledMapTest) 23 | public: 24 | QGeoTiledMapTest(QGeoTiledMappingManagerEngine *engine, 25 | const QGeoTiledMapTestOptions &options, 26 | QObject *parent = nullptr); 27 | 28 | public: 29 | using QGeoTiledMap::setCameraData; 30 | QGeoTiledMappingManagerEngine *m_engine; 31 | }; 32 | 33 | #endif 34 | 35 | 36 | -------------------------------------------------------------------------------- /tests/auto/geotestplugin/testdata.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | place_data.json 4 | 5 | 6 | -------------------------------------------------------------------------------- /tests/auto/maptype/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | qt_internal_add_test(tst_maptype 2 | SOURCES 3 | tst_maptype.cpp 4 | LIBRARIES 5 | Qt::Core 6 | Qt::LocationPrivate 7 | ) 8 | -------------------------------------------------------------------------------- /tests/auto/nokia_services/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_subdirectory(places_semiauto) 2 | add_subdirectory(routing) 3 | -------------------------------------------------------------------------------- /tests/auto/nokia_services/places_semiauto/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | qt_internal_add_test(tst_nokia_places 2 | SOURCES 3 | ../../placemanager_utils/placemanager_utils.h 4 | ../../placemanager_utils/placemanager_utils.cpp 5 | tst_places.cpp 6 | LIBRARIES 7 | Qt::Core 8 | Qt::Location 9 | Qt::Positioning 10 | ) 11 | -------------------------------------------------------------------------------- /tests/auto/nokia_services/routing/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(plugin_path "../../../../src/plugins/geoservices/nokia") 2 | 3 | qt_internal_add_test(tst_nokia_routing 4 | SOURCES 5 | tst_routing.cpp 6 | INCLUDE_DIRECTORIES 7 | ${plugin_path} 8 | LIBRARIES 9 | Qt::Core 10 | Qt::Network 11 | Qt::Location 12 | Qt::Positioning 13 | ) 14 | 15 | if(NOT QT_BUILD_MINIMAL_STATIC_TESTS) 16 | qt_internal_extend_target(tst_nokia_routing 17 | SOURCES 18 | ${plugin_path}/qgeonetworkaccessmanager.h 19 | ) 20 | endif() 21 | -------------------------------------------------------------------------------- /tests/auto/nokia_services/routing/error-no-route.xml: -------------------------------------------------------------------------------- 1 |
NOROUTE: Request failed
-------------------------------------------------------------------------------- /tests/auto/nokia_services/routing/invalid-response-no-calculateroute-tag.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/auto/nokia_services/routing/invalid-response-trash.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtlocation/HEAD/tests/auto/nokia_services/routing/invalid-response-trash.xml -------------------------------------------------------------------------------- /tests/auto/placesplugin_unsupported/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | qt_internal_add_plugin(UnsupportedPlacesGeoServicePlugin 2 | OUTPUT_NAME qtgeoservices_placesplugin_unsupported 3 | CLASS_NAME QGeoServiceProviderFactoryTest 4 | PLUGIN_TYPE geoservices 5 | TEST_PLUGIN 6 | DEFAULT_IF FALSE 7 | SOURCES 8 | qgeoserviceproviderplugin_test.h 9 | qgeoserviceproviderplugin_test.cpp 10 | LIBRARIES 11 | Qt::Core 12 | Qt::Location 13 | ) 14 | -------------------------------------------------------------------------------- /tests/auto/placesplugin_unsupported/placesplugin.json: -------------------------------------------------------------------------------- 1 | { 2 | "Keys": ["test.places.unsupported"], 3 | "Provider": "test.places.unsupported", 4 | "Version": 1, 5 | "Experimental": true, 6 | "Features": [ 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /tests/auto/placesplugin_unsupported/qgeoserviceproviderplugin_test.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2016 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | #include "qgeoserviceproviderplugin_test.h" 5 | 6 | #include 7 | #include 8 | 9 | QGeoServiceProviderFactoryTest::QGeoServiceProviderFactoryTest() 10 | { 11 | } 12 | 13 | QGeoServiceProviderFactoryTest::~QGeoServiceProviderFactoryTest() 14 | { 15 | } 16 | 17 | QPlaceManagerEngine *QGeoServiceProviderFactoryTest::createPlaceManagerEngine( 18 | const QVariantMap ¶meters, 19 | QGeoServiceProvider::Error *error, QString *errorString) const 20 | { 21 | Q_UNUSED(error); 22 | Q_UNUSED(errorString); 23 | 24 | return new QPlaceManagerEngine(parameters); 25 | } 26 | -------------------------------------------------------------------------------- /tests/auto/qgeocameracapabilities/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | qt_internal_add_test(tst_qgeocameracapabilities 2 | SOURCES 3 | tst_qgeocameracapabilities.cpp 4 | LIBRARIES 5 | Qt::Core 6 | Qt::LocationPrivate 7 | Qt::PositioningPrivate 8 | ) 9 | -------------------------------------------------------------------------------- /tests/auto/qgeocameradata/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | qt_internal_add_test(tst_qgeocameradata 2 | SOURCES 3 | tst_qgeocameradata.cpp 4 | LIBRARIES 5 | Qt::Core 6 | Qt::LocationPrivate 7 | Qt::PositioningPrivate 8 | ) 9 | -------------------------------------------------------------------------------- /tests/auto/qgeocameratiles/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | qt_internal_add_test(tst_qgeocameratiles 2 | SOURCES 3 | tst_qgeocameratiles.cpp 4 | LIBRARIES 5 | Qt::Core 6 | Qt::LocationPrivate 7 | Qt::PositioningPrivate 8 | ) 9 | -------------------------------------------------------------------------------- /tests/auto/qgeocodereply/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | qt_internal_add_test(tst_qgeocodereply 2 | SOURCES 3 | tst_qgeocodereply.h tst_qgeocodereply.cpp 4 | LIBRARIES 5 | Qt::Core 6 | Qt::Location 7 | Qt::Positioning 8 | ) 9 | -------------------------------------------------------------------------------- /tests/auto/qgeocodingmanager/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | qt_internal_add_test(tst_qgeocodingmanager 2 | SOURCES 3 | tst_qgeocodingmanager.h tst_qgeocodingmanager.cpp 4 | LIBRARIES 5 | Qt::Core 6 | Qt::Location 7 | Qt::Positioning 8 | ) 9 | -------------------------------------------------------------------------------- /tests/auto/qgeocodingmanagerplugins/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | qt_internal_add_plugin(GeocodingTestGeoServicePlugin 2 | OUTPUT_NAME qtgeoservices_geocodingplugin 3 | CLASS_NAME QGeoServiceProviderFactoryTest 4 | PLUGIN_TYPE geoservices 5 | TEST_PLUGIN 6 | DEFAULT_IF FALSE 7 | SOURCES 8 | qgeocodingmanagerengine_test.h 9 | qgeoserviceproviderplugin_test.h 10 | qgeoserviceproviderplugin_test.cpp 11 | LIBRARIES 12 | Qt::Core 13 | Qt::Location 14 | Qt::Positioning 15 | ) 16 | -------------------------------------------------------------------------------- /tests/auto/qgeocodingmanagerplugins/geocoding_plugin.json: -------------------------------------------------------------------------------- 1 | { 2 | "Keys": ["geocode.test.plugin"], 3 | "Provider": "geocode.test.plugin", 4 | "Version": 100, 5 | "Experimental": true, 6 | "Features": [ 7 | "OfflineGeocodingFeature", 8 | "ReverseGeocodingFeature" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /tests/auto/qgeocodingmanagerplugins/qgeoserviceproviderplugin_test.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2016 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | #include "qgeoserviceproviderplugin_test.h" 5 | #include "qgeocodingmanagerengine_test.h" 6 | 7 | #include 8 | 9 | QGeoServiceProviderFactoryTest::QGeoServiceProviderFactoryTest() 10 | { 11 | } 12 | 13 | QGeoServiceProviderFactoryTest::~QGeoServiceProviderFactoryTest() 14 | { 15 | } 16 | 17 | QGeoCodingManagerEngine* QGeoServiceProviderFactoryTest::createGeocodingManagerEngine( 18 | const QVariantMap ¶meters, QGeoServiceProvider::Error *error, 19 | QString *errorString) const 20 | { 21 | return new QGeoCodingManagerEngineTest(parameters, error, errorString); 22 | } 23 | -------------------------------------------------------------------------------- /tests/auto/qgeojson/01-point.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Point", 3 | "coordinates": [11,60] 4 | } 5 | -------------------------------------------------------------------------------- /tests/auto/qgeojson/02-linestring.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "LineString", 3 | "coordinates": [ 4 | [13.5, 43], 5 | [10.73, 59.92] 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /tests/auto/qgeojson/03-multipoint.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "MultiPoint", 3 | "coordinates": [ 4 | [11,60], 5 | [5.5,60.3], 6 | [5.7,58.90] 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /tests/auto/qgeojson/04-polygon.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Polygon", 3 | "coordinates": [ 4 | [ 5 | [17.13, 51.11], 6 | [30.54, 50.42], 7 | [26.70, 58.36], 8 | [17.13, 51.11] 9 | ] 10 | ], 11 | "bbox": [50, -50, 10, -10] 12 | } 13 | -------------------------------------------------------------------------------- /tests/auto/qgeojson/05-multilinestring.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "MultiLineString", 3 | "coordinates": [ 4 | [[13.5, 43], [10.73, 59.92]], 5 | [[9.15, 45], [-3.15, 58.90]] 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /tests/auto/qgeojson/06-multipolygon.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "MultiPolygon", 3 | "coordinates": [ 4 | [ 5 | [ 6 | [17.13, 51.11], 7 | [30.54, 50.42], 8 | [26.74, 58.36], 9 | [17.13, 51.11] 10 | ] 11 | ], 12 | [ 13 | [ 14 | [19.84, 41.33], 15 | [30.45, 49.26], 16 | [17.07, 50.10], 17 | [19.84, 41.33] 18 | ] 19 | ] 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /tests/auto/qgeojson/08-feature.json: -------------------------------------------------------------------------------- 1 | { 2 | "type":"Feature", 3 | "id":"Poly", 4 | "properties": { 5 | "text":"This is a Feature with a Polygon" 6 | }, 7 | "geometry": { 8 | "type": "Polygon", 9 | "coordinates": [ 10 | [ 11 | [17.13, 51.11], 12 | [30.54, 50.42], 13 | [26.70, 58.36], 14 | [17.13, 51.11] 15 | ], 16 | [ 17 | [23.46, 54.36], 18 | [20.52, 51.91], 19 | [28.25, 51.50], 20 | [26.80, 54.36], 21 | [23.46, 54.36] 22 | ] 23 | ] 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /tests/auto/qgeojson/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | qt_internal_add_test(tst_qgeojson 2 | SOURCES 3 | tst_qgeojson.cpp 4 | LIBRARIES 5 | Qt::Core 6 | Qt::LocationPrivate 7 | Qt::Positioning 8 | ) 9 | -------------------------------------------------------------------------------- /tests/auto/qgeomaneuver/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | qt_internal_add_test(tst_qgeomaneuver 2 | SOURCES 3 | tst_qgeomaneuver.h tst_qgeomaneuver.cpp 4 | LIBRARIES 5 | Qt::Core 6 | Qt::LocationPrivate 7 | ) 8 | -------------------------------------------------------------------------------- /tests/auto/qgeoroute/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | qt_internal_add_test(tst_qgeoroute 2 | SOURCES 3 | tst_qgeoroute.h tst_qgeoroute.cpp 4 | LIBRARIES 5 | Qt::Core 6 | Qt::LocationPrivate 7 | ) 8 | -------------------------------------------------------------------------------- /tests/auto/qgeoroutereply/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | qt_internal_add_test(tst_qgeoroutereply 2 | SOURCES 3 | tst_qgeoroutereply.h tst_qgeoroutereply.cpp 4 | LIBRARIES 5 | Qt::Core 6 | Qt::Location 7 | Qt::Positioning 8 | ) 9 | -------------------------------------------------------------------------------- /tests/auto/qgeorouterequest/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | qt_internal_add_test(tst_qgeorouterequest 2 | SOURCES 3 | tst_qgeorouterequest.h tst_qgeorouterequest.cpp 4 | LIBRARIES 5 | Qt::Core 6 | Qt::Location 7 | Qt::Positioning 8 | ) 9 | -------------------------------------------------------------------------------- /tests/auto/qgeoroutesegment/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | qt_internal_add_test(tst_qgeoroutesegment 2 | SOURCES 3 | tst_qgeoroutesegment.h tst_qgeoroutesegment.cpp 4 | LIBRARIES 5 | Qt::Core 6 | Qt::Location 7 | Qt::Positioning 8 | ) 9 | -------------------------------------------------------------------------------- /tests/auto/qgeoroutexmlparser/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(plugin_path "../../../src/plugins/geoservices/nokia") 2 | 3 | qt_internal_add_test(tst_qgeoroutexmlparser 4 | SOURCES 5 | tst_qgeoroutexmlparser.cpp 6 | INCLUDE_DIRECTORIES 7 | ${plugin_path} 8 | LIBRARIES 9 | Qt::Core 10 | Qt::LocationPrivate 11 | ) 12 | 13 | qt_add_resources(resources_file fixtures.qrc) 14 | 15 | qt_internal_extend_target(tst_qgeoroutexmlparser 16 | SOURCES 17 | ${resources_file} 18 | ) 19 | 20 | if(NOT QT_BUILD_MINIMAL_STATIC_TESTS) 21 | qt_internal_extend_target(tst_qgeoroutexmlparser 22 | SOURCES 23 | ${plugin_path}/qgeoroutexmlparser.cpp 24 | ${plugin_path}/qgeoroutexmlparser.h 25 | ) 26 | endif() 27 | -------------------------------------------------------------------------------- /tests/auto/qgeoroutexmlparser/fixtures.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | route1.xml 4 | route2.xml 5 | 6 | 7 | -------------------------------------------------------------------------------- /tests/auto/qgeoroutingmanager/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | qt_internal_add_test(tst_qgeoroutingmanager 2 | SOURCES 3 | tst_qgeoroutingmanager.h tst_qgeoroutingmanager.cpp 4 | LIBRARIES 5 | Qt::Core 6 | Qt::Location 7 | Qt::Positioning 8 | ) 9 | -------------------------------------------------------------------------------- /tests/auto/qgeoroutingmanagerplugins/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | qt_internal_add_plugin(RoutingTestGeoServicePlugin 2 | OUTPUT_NAME qtgeoservices_routingplugin 3 | CLASS_NAME QGeoServiceProviderFactoryTest 4 | PLUGIN_TYPE geoservices 5 | TEST_PLUGIN 6 | DEFAULT_IF FALSE 7 | SOURCES 8 | qgeoroutingmanagerengine_test.h 9 | qgeoserviceproviderplugin_test.h 10 | qgeoserviceproviderplugin_test.cpp 11 | LIBRARIES 12 | Qt::Core 13 | Qt::Location 14 | Qt::Positioning 15 | ) 16 | -------------------------------------------------------------------------------- /tests/auto/qgeoroutingmanagerplugins/qgeoserviceproviderplugin_test.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2016 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | #include "qgeoserviceproviderplugin_test.h" 5 | #include "qgeoroutingmanagerengine_test.h" 6 | 7 | #include 8 | 9 | QGeoServiceProviderFactoryTest::QGeoServiceProviderFactoryTest() 10 | { 11 | } 12 | 13 | QGeoServiceProviderFactoryTest::~QGeoServiceProviderFactoryTest() 14 | { 15 | } 16 | 17 | QGeoRoutingManagerEngine* QGeoServiceProviderFactoryTest::createRoutingManagerEngine( 18 | const QVariantMap ¶meters, QGeoServiceProvider::Error *error, 19 | QString *errorString) const 20 | { 21 | return new QGeoRoutingManagerEngineTest(parameters, error, errorString); 22 | } 23 | -------------------------------------------------------------------------------- /tests/auto/qgeoroutingmanagerplugins/routing_plugin.json: -------------------------------------------------------------------------------- 1 | { 2 | "Keys": ["georoute.test.plugin"], 3 | "Provider": "georoute.test.plugin", 4 | "Version": 100, 5 | "Experimental": true, 6 | "Features": [ 7 | "OfflineRoutingFeature", 8 | "RouteUpdatesFeature", 9 | "AlternativeRoutesFeature", 10 | "ExcludeAreasRoutingFeature" 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /tests/auto/qgeoserviceprovider/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | qt_internal_add_test(tst_qgeoserviceprovider 2 | SOURCES 3 | tst_qgeoserviceprovider.cpp 4 | LIBRARIES 5 | Qt::Core 6 | Qt::Location 7 | ) 8 | -------------------------------------------------------------------------------- /tests/auto/qgeotiledmap/BLACKLIST: -------------------------------------------------------------------------------- 1 | [fetchTiles] 2 | b2qt ci 3 | -------------------------------------------------------------------------------- /tests/auto/qgeotiledmap/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | qt_internal_add_test(tst_qgeotiledmap 2 | SOURCES 3 | tst_qgeotiledmap.cpp 4 | INCLUDE_DIRECTORIES 5 | ../geotestplugin 6 | LIBRARIES 7 | Qt::Core 8 | Qt::LocationPrivate 9 | Qt::PositioningPrivate 10 | ) 11 | -------------------------------------------------------------------------------- /tests/auto/qgeotiledmapscene/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | qt_internal_add_test(tst_qgeotiledmapscene 2 | SOURCES 3 | tst_qgeotiledmapscene.cpp 4 | LIBRARIES 5 | Qt::Core 6 | Qt::LocationPrivate 7 | Qt::PositioningPrivate 8 | ) 9 | -------------------------------------------------------------------------------- /tests/auto/qgeotilespec/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | qt_internal_add_test(tst_qgeotilespec 2 | SOURCES 3 | tst_qgeotilespec.cpp 4 | LIBRARIES 5 | Qt::Core 6 | Qt::LocationPrivate 7 | ) 8 | -------------------------------------------------------------------------------- /tests/auto/qmlinterface/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | qt_internal_add_test(tst_qmlinterface 2 | SOURCES 3 | tst_qmlinterface.cpp 4 | DEFINES 5 | SRCDIR="${CMAKE_CURRENT_SOURCE_DIR}/" 6 | LIBRARIES 7 | Qt::Location 8 | Qt::Positioning 9 | Qt::Qml 10 | ) 11 | -------------------------------------------------------------------------------- /tests/auto/qmlinterface/data/TestAddress.qml: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2016 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | import QtPositioning 5 | 6 | Address { 7 | city: "Brisbane" 8 | country: "Australia" 9 | countryCode: "AU" 10 | postalCode: "4000" 11 | state: "Queensland" 12 | street: "123 Fake Street" 13 | } 14 | -------------------------------------------------------------------------------- /tests/auto/qmlinterface/data/TestCategory.qml: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2016 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | import QtLocation 5 | 6 | Category { 7 | name: "Test category" 8 | categoryId: "test-category-id" 9 | } 10 | -------------------------------------------------------------------------------- /tests/auto/qmlinterface/data/TestContactDetail.qml: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2016 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | import QtLocation 5 | import QtQuick 6 | 7 | Item { 8 | property contactDetail contactDetail: ({ 9 | label: "Test Contact Detail", 10 | value: "Test contact detail value" 11 | }) 12 | } 13 | -------------------------------------------------------------------------------- /tests/auto/qmlinterface/data/TestIcon.qml: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2016 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | import QtQuick 5 | import QtLocation 6 | 7 | Item { 8 | id: testIcon 9 | property icon icon: ({ parameters: { singleUrl: "http://www.example.com/test-icon.png" }}) 10 | } 11 | -------------------------------------------------------------------------------- /tests/auto/qmlinterface/data/TestLocation.qml: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2016 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | import QtPositioning 5 | 6 | Location { 7 | address: TestAddress { } 8 | boundingShape : QtPositioning.rectangle(QtPositioning.coordinate(20, 10, 30), 40, 30) 9 | coordinate { 10 | longitude: 10.0 11 | latitude: 20.0 12 | altitude: 30.0 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /tests/auto/qmlinterface/data/TestPlaceAttribute.qml: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2016 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | import QtLocation 5 | import QtQuick 6 | 7 | Item { 8 | property placeAttribute attribute: ({ 9 | label: "Test Attribute", 10 | text: "Test attribute text" 11 | }) 12 | } 13 | -------------------------------------------------------------------------------- /tests/auto/qmlinterface/data/TestRatings.qml: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2016 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | import QtLocation 5 | import QtQuick 6 | 7 | Item { 8 | property ratings ratings: ({ 9 | average: 3.5, 10 | maximum: 5.0, 11 | count: 10 12 | }) 13 | } 14 | -------------------------------------------------------------------------------- /tests/auto/qmlinterface/data/TestSupplier.qml: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2016 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | import QtLocation 5 | import QtQuick 6 | 7 | Item { 8 | property supplier supplier: ({ 9 | name: "Test supplier", 10 | supplierId: "test-supplier-id", 11 | url: "http://www.example.com/test-supplier", 12 | icon: ({ parameters: { singleUrl: "http://www.example.com/test-icon.png" }}) 13 | }) 14 | } 15 | -------------------------------------------------------------------------------- /tests/auto/qmlinterface/data/TestUser.qml: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2016 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | import QtQuick 5 | import QtLocation 6 | 7 | Item { 8 | property user user: ({ 9 | name: "Test User", 10 | userId: "test-user-id" 11 | }) 12 | } 13 | -------------------------------------------------------------------------------- /tests/auto/qplace/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | qt_internal_add_test(tst_qplace 2 | SOURCES 3 | tst_qplace.cpp 4 | LIBRARIES 5 | Qt::Core 6 | Qt::Location 7 | Qt::Positioning 8 | ) 9 | -------------------------------------------------------------------------------- /tests/auto/qplaceattribute/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | qt_internal_add_test(tst_qplaceattribute 2 | SOURCES 3 | tst_qplaceattribute.cpp 4 | LIBRARIES 5 | Qt::Core 6 | Qt::Location 7 | ) 8 | -------------------------------------------------------------------------------- /tests/auto/qplacecategory/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | qt_internal_add_test(tst_qplacecategory 2 | SOURCES 3 | tst_qplacecategory.cpp 4 | LIBRARIES 5 | Qt::Core 6 | Qt::Location 7 | ) 8 | -------------------------------------------------------------------------------- /tests/auto/qplacecontactdetail/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | qt_internal_add_test(tst_qplacecontactdetail 2 | SOURCES 3 | tst_qplacecontactdetail.cpp 4 | LIBRARIES 5 | Qt::Core 6 | Qt::Location 7 | ) 8 | -------------------------------------------------------------------------------- /tests/auto/qplacecontentrequest/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | qt_internal_add_test(tst_qplacecontentrequest 2 | SOURCES 3 | tst_qplacecontentrequest.cpp 4 | LIBRARIES 5 | Qt::Core 6 | Qt::Location 7 | ) 8 | -------------------------------------------------------------------------------- /tests/auto/qplacedetailsreply/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | qt_internal_add_test(tst_qplacedetailsreply 2 | SOURCES 3 | tst_qplacedetailsreply.cpp 4 | LIBRARIES 5 | Qt::Core 6 | Qt::Location 7 | ) 8 | -------------------------------------------------------------------------------- /tests/auto/qplacemanager/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | qt_internal_add_test(tst_qplacemanager 2 | SOURCES 3 | tst_qplacemanager.cpp 4 | LIBRARIES 5 | Qt::Core 6 | Qt::Location 7 | ) 8 | -------------------------------------------------------------------------------- /tests/auto/qplacemanager_nokia/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | qt_internal_add_test(tst_qplacemanager_nokia 2 | SOURCES 3 | tst_qplacemanager_nokia.cpp 4 | LIBRARIES 5 | Qt::Core 6 | Qt::Location 7 | ) 8 | -------------------------------------------------------------------------------- /tests/auto/qplacemanager_unsupported/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | qt_internal_add_test(tst_qplacemanager_unsupported 2 | SOURCES 3 | tst_qplacemanager_unsupported.cpp 4 | LIBRARIES 5 | Qt::Core 6 | Qt::Location 7 | ) 8 | -------------------------------------------------------------------------------- /tests/auto/qplacematchreply/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | qt_internal_add_test(tst_qplacematchreply 2 | SOURCES 3 | tst_qplacematchreply.cpp 4 | LIBRARIES 5 | Qt::Core 6 | Qt::Location 7 | ) 8 | -------------------------------------------------------------------------------- /tests/auto/qplacematchrequest/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | qt_internal_add_test(tst_qplacematchrequest 2 | SOURCES 3 | tst_qplacematchrequest.cpp 4 | LIBRARIES 5 | Qt::Core 6 | Qt::Location 7 | ) 8 | -------------------------------------------------------------------------------- /tests/auto/qplaceratings/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | qt_internal_add_test(tst_qplaceratings 2 | SOURCES 3 | tst_qplaceratings.cpp 4 | LIBRARIES 5 | Qt::Core 6 | Qt::Location 7 | ) 8 | -------------------------------------------------------------------------------- /tests/auto/qplacereply/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | qt_internal_add_test(tst_qplacereply 2 | SOURCES 3 | tst_qplacereply.cpp 4 | LIBRARIES 5 | Qt::Core 6 | Qt::Location 7 | ) 8 | -------------------------------------------------------------------------------- /tests/auto/qplaceresult/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | qt_internal_add_test(tst_qplaceresult 2 | SOURCES 3 | tst_qplaceresult.cpp 4 | LIBRARIES 5 | Qt::Core 6 | Qt::Location 7 | ) 8 | -------------------------------------------------------------------------------- /tests/auto/qplacesearchreply/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | qt_internal_add_test(tst_qplacesearchreply 2 | SOURCES 3 | tst_qplacesearchreply.cpp 4 | LIBRARIES 5 | Qt::Core 6 | Qt::Location 7 | Qt::Positioning 8 | ) 9 | -------------------------------------------------------------------------------- /tests/auto/qplacesearchrequest/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | qt_internal_add_test(tst_qplacesearchrequest 2 | SOURCES 3 | tst_qplacesearchrequest.cpp 4 | LIBRARIES 5 | Qt::Core 6 | Qt::Location 7 | Qt::Positioning 8 | ) 9 | -------------------------------------------------------------------------------- /tests/auto/qplacesearchresult/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | qt_internal_add_test(tst_qplacesearchresult 2 | SOURCES 3 | tst_qplacesearchresult.cpp 4 | LIBRARIES 5 | Qt::Core 6 | Qt::Location 7 | ) 8 | -------------------------------------------------------------------------------- /tests/auto/qplacesearchsuggestionreply/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | qt_internal_add_test(tst_qplacesearchsuggestionreply 2 | SOURCES 3 | tst_qplacesearchsuggestionreply.cpp 4 | LIBRARIES 5 | Qt::Core 6 | Qt::Location 7 | ) 8 | -------------------------------------------------------------------------------- /tests/auto/qplacesupplier/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | qt_internal_add_test(tst_qplacesupplier 2 | SOURCES 3 | tst_qplacesupplier.cpp 4 | LIBRARIES 5 | Qt::Core 6 | Qt::Location 7 | ) 8 | -------------------------------------------------------------------------------- /tests/auto/qplaceuser/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | qt_internal_add_test(tst_qplaceuser 2 | SOURCES 3 | tst_qplaceuser.cpp 4 | LIBRARIES 5 | Qt::Core 6 | Qt::Location 7 | ) 8 | -------------------------------------------------------------------------------- /tests/auto/qproposedsearchresult/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | qt_internal_add_test(tst_qproposedsearchresult 2 | SOURCES 3 | tst_qproposedsearchresult.cpp 4 | LIBRARIES 5 | Qt::Core 6 | Qt::Location 7 | ) 8 | -------------------------------------------------------------------------------- /tests/baseline/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2022 The Qt Company Ltd. 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | 4 | # Special case: test includes the QBaselineTest module sources from qtbase directly 5 | if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/../../../qtbase/tests/baseline/shared") 6 | add_subdirectory(mapitems) 7 | endif() 8 | -------------------------------------------------------------------------------- /tests/baseline/mapitems/data/polygon/include/REUSE.toml: -------------------------------------------------------------------------------- 1 | version = 1 2 | 3 | [[annotations]] 4 | path = ["GeometryAfrica.qml", 5 | "GeometryAntarctica.qml"] 6 | comment = "MIT license documented in file is not reuse readable." 7 | precedence = "aggregate" 8 | SPDX-License-Identifier = "MIT" 9 | -------------------------------------------------------------------------------- /tests/baseline/mapitems/data/polygon/polygon_africa1.qml: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2023 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | import QtQuick 5 | import QtLocation 6 | import QtPositioning 7 | import "include" 8 | 9 | Map { 10 | id: map 11 | width: 512 12 | height: 512 13 | 14 | center: QtPositioning.coordinate(20, 30) 15 | 16 | 17 | plugin: Plugin { 18 | name: "osm" 19 | } 20 | zoomLevel: 4 21 | copyrightsVisible: false 22 | 23 | GeometryAfrica{} 24 | } 25 | -------------------------------------------------------------------------------- /tests/baseline/mapitems/data/polygon/polygon_africa1_tilt.qml: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2023 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | import QtQuick 5 | import QtLocation 6 | import QtPositioning 7 | import "include" 8 | 9 | Map { 10 | id: map 11 | width: 512 12 | height: 512 13 | 14 | center: QtPositioning.coordinate(20, 30) 15 | tilt: 30 16 | 17 | 18 | plugin: Plugin { 19 | name: "osm" 20 | } 21 | zoomLevel: 4 22 | copyrightsVisible: false 23 | 24 | GeometryAfrica{} 25 | } 26 | -------------------------------------------------------------------------------- /tests/baseline/mapitems/data/polygon/polygon_africa1_tilt_bear.qml: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2023 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | import QtQuick 5 | import QtLocation 6 | import QtPositioning 7 | import "include" 8 | 9 | Map { 10 | id: map 11 | width: 512 12 | height: 512 13 | 14 | center: QtPositioning.coordinate(20, 30) 15 | tilt: 30 16 | bearing: 34 17 | 18 | 19 | plugin: Plugin { 20 | name: "osm" 21 | } 22 | zoomLevel: 4 23 | copyrightsVisible: false 24 | 25 | GeometryAfrica{} 26 | } 27 | -------------------------------------------------------------------------------- /tests/baseline/mapitems/data/polygon/polygon_africa2.qml: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2023 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | import QtQuick 5 | import QtLocation 6 | import QtPositioning 7 | import "include" 8 | 9 | Map { 10 | id: map 11 | width: 512 12 | height: 512 13 | 14 | center: QtPositioning.coordinate(0, -160) 15 | 16 | 17 | plugin: Plugin { 18 | name: "osm" 19 | } 20 | zoomLevel: 1 21 | copyrightsVisible: false 22 | 23 | GeometryAfrica{} 24 | } 25 | -------------------------------------------------------------------------------- /tests/baseline/mapitems/data/polygon/polygon_antarctica1.qml: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2023 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | import QtQuick 5 | import QtLocation 6 | import QtPositioning 7 | import "include" 8 | 9 | Map { 10 | id: map 11 | width: 512 12 | height: 512 13 | 14 | center: QtPositioning.coordinate(0, 0) 15 | 16 | plugin: Plugin { 17 | name: "osm" 18 | } 19 | zoomLevel: 1 20 | copyrightsVisible: false 21 | 22 | GeometryAntarctica{} 23 | } 24 | -------------------------------------------------------------------------------- /tests/baseline/mapitems/data/polygon/polygon_antarctica2.qml: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2023 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | import QtQuick 5 | import QtLocation 6 | import QtPositioning 7 | import "include" 8 | 9 | Map { 10 | id: map 11 | width: 512 12 | height: 512 13 | 14 | center: QtPositioning.coordinate(0, 90) 15 | 16 | plugin: Plugin { 17 | name: "osm" 18 | } 19 | zoomLevel: 1 20 | copyrightsVisible: false 21 | 22 | GeometryAntarctica{} 23 | } 24 | -------------------------------------------------------------------------------- /tests/baseline/mapitems/data/polygon/polygon_antarctica3.qml: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2023 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | import QtQuick 5 | import QtLocation 6 | import QtPositioning 7 | import "include" 8 | 9 | Map { 10 | id: map 11 | width: 512 12 | height: 512 13 | 14 | center: QtPositioning.coordinate(0, 180) 15 | 16 | 17 | plugin: Plugin { 18 | name: "osm" 19 | } 20 | zoomLevel: 1 21 | copyrightsVisible: false 22 | 23 | GeometryAntarctica{} 24 | } 25 | -------------------------------------------------------------------------------- /tests/benchmarks/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2022 The Qt Company Ltd. 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | 4 | add_subdirectory(mapitems_framecount) 5 | -------------------------------------------------------------------------------- /tests/benchmarks/mapitems_framecount/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2023 The Qt Company Ltd. 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | 4 | find_package(Qt6 ${PROJECT_VERSION} CONFIG REQUIRED COMPONENTS 5 | Widgets QuickWidgets 6 | ) 7 | 8 | qt_internal_add_benchmark(mapitems_framecount 9 | GUI 10 | SOURCES 11 | main.cpp 12 | LIBRARIES 13 | Qt::Gui 14 | Qt::Widgets 15 | Qt::Quick 16 | Qt::QuickWidgets 17 | ) 18 | 19 | # Resources: 20 | set(qml_resource_files 21 | "circles.qml" 22 | "rectangles.qml" 23 | "polylines.qml" 24 | "polygons.qml" 25 | ) 26 | 27 | qt_internal_add_resource(mapitems_framecount "qml" 28 | PREFIX 29 | "/" 30 | FILES 31 | ${qml_resource_files} 32 | ) 33 | -------------------------------------------------------------------------------- /tests/benchmarks/mapitems_framecount/qml.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | circles.qml 4 | polylines.qml 5 | rectangles.qml 6 | 7 | 8 | -------------------------------------------------------------------------------- /tests/manual/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2022 The Qt Company Ltd. 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | 4 | add_subdirectory(mapitems_backends) 5 | add_subdirectory(mapobjects_tester) 6 | add_subdirectory(mappolyline_tester) 7 | -------------------------------------------------------------------------------- /tests/manual/mapitems_backends/main.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2020 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | #include 5 | #include 6 | 7 | int main(int argc, char *argv[]) 8 | { 9 | QGuiApplication app(argc, argv); 10 | 11 | QQmlApplicationEngine engine; 12 | const QUrl url(QStringLiteral("qrc:/main.qml")); 13 | QObject::connect(&engine, &QQmlApplicationEngine::objectCreated, 14 | &app, [url](QObject *obj, const QUrl &objUrl) { 15 | if (!obj && url == objUrl) 16 | QCoreApplication::exit(-1); 17 | }, Qt::QueuedConnection); 18 | engine.load(url); 19 | 20 | return app.exec(); 21 | } 22 | -------------------------------------------------------------------------------- /tests/manual/mapitems_backends/qml.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | main.qml 4 | ../mappolyline_tester/LongPolyline.qml 5 | 6 | 7 | -------------------------------------------------------------------------------- /tests/manual/mapobjects_tester/main.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2020 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | #include 5 | #include 6 | 7 | int main(int argc, char *argv[]) 8 | { 9 | QGuiApplication app(argc, argv); 10 | 11 | QQmlApplicationEngine engine; 12 | const QUrl url(QStringLiteral("qrc:/main.qml")); 13 | QObject::connect(&engine, &QQmlApplicationEngine::objectCreated, 14 | &app, [url](QObject *obj, const QUrl &objUrl) { 15 | if (!obj && url == objUrl) 16 | QCoreApplication::exit(-1); 17 | }, Qt::QueuedConnection); 18 | engine.load(url); 19 | 20 | return app.exec(); 21 | } 22 | -------------------------------------------------------------------------------- /tests/manual/mapobjects_tester/qml.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | main.qml 4 | ../mappolyline_tester/LongPolyline.qml 5 | 6 | 7 | -------------------------------------------------------------------------------- /tests/manual/mappolyline_tester/main.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2020 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | 11 | #include "main.moc" 12 | 13 | int main(int argc, char *argv[]) 14 | { 15 | // qputenv("QTLOCATION_OPENGL_ITEMS", "1"); 16 | QGuiApplication app(argc, argv); 17 | 18 | QQmlApplicationEngine engine; 19 | const QUrl url(QStringLiteral("qrc:/main.qml")); 20 | QObject::connect(&engine, &QQmlApplicationEngine::objectCreated, 21 | &app, [url](QObject *obj, const QUrl &objUrl) { 22 | if (!obj && url == objUrl) 23 | QCoreApplication::exit(-1); 24 | }, Qt::QueuedConnection); 25 | 26 | engine.load(url); 27 | 28 | return app.exec(); 29 | } 30 | -------------------------------------------------------------------------------- /tests/manual/mappolyline_tester/qml.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | main.qml 4 | LongPolyline.qml 5 | 6 | 7 | --------------------------------------------------------------------------------