| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The labs feature will still be controlled by location-labs-plugin
config option. They will simply come from the QtLocation module, and
be exposed to QML via the additional qml plugin in
imports/locationlabs.
Change-Id: I133d625708e78ba5d8121a95e45142aae5ec274b
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I95b21a8df6e1de600b31ce2fbea55d0a31b31c7f
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Ic8b2ae65f461b55c3f655af66865c4e8bbf50d14
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| |\
| | |
| | |
| | | |
Change-Id: I558b3b2de394b946d70f484a19d0c1f7bef25515
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I3ce8956ed77d4307521cb6b5e9b53fb4cc5fed7c
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
And revert the changes from commit acc8bc07 that erraneously
converted references of 'geopolygon' to 'geoshape'.
Change-Id: I8ad5c17b3ad3dcd3cec6d7ba49bfa078b87ad33d
Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fix multiple warnings caused by invalid documentation configuration,
missing QML module specifiers, wrong QML type names, incorrect
arguments for the \fn command, and missing documentation.
Remove incorrect statement from the example usage of the Waypoint
QML type.
Use 'QtLocation' as the name for the module throughout the docs.
Clang (used as the parser for QDoc in Qt 5.11) was unable to
resolve the path for qlocation.h, causing QDoc to omit the
QLocation namespace documentation. Fix this by including the
file explicitly from qlocationglobal.h for documentation
builds.
Change-Id: I2bd790db1ff5ad96f0cdb415a682b97593b3a6dc
Reviewed-by: Martin Smith <martin.smith@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Instead of doing it all over the place, declare it in
qgeopositioninfo.h and register it in
QGeoPositionInfoSource() as well as in positioning.cpp
Task-number: QTBUG-65937
Change-Id: I819af3393921bdc9ca46832d5b4181d41546dac0
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| |/
|/|
| |
| |
| |
| |
| |
| | |
Same thing, different name, more suitable for being used outside a
Map element (e.g., inside MapObjects, MapItems, or Navigator).
Change-Id: I79839ef42daad0347a2b760d61d4124496c56fdd
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|/
|
|
|
|
|
|
|
| |
qtlocation/src/imports/positioning/qquickgeocoordinateanimation.cpp:278:106: error: cast between incompatible function types from ‘QVariant (*)(const QGeoCoordinate&, const QGeoCoordinate&, qreal)’ {aka ‘QVariant (*)(const QGeoCoordinate&, const QGeoCoordinate&, double)’} to ‘QVariantAnimation::Interpolator’ {aka ‘QVariant (*)(const void*, const void*, double)’} [-Werror=cast-function-type]
d->interpolator = reinterpret_cast<QVariantAnimation::Interpolator>(&q_coordinateWestInterpolator);
Change-Id: If8728c01782177aeeb0f64a8637093d0c4c4ee2d
Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
| |
Change-Id: I376c28b3bcc1116c87481020a0ee2aaa0476f950
Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-66263
Change-Id: I62d9c99ce80c8968057ee0488dac413c312c1b20
Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This also adds addMapObject/removeMapObject to MapObjectView
With this patch, MapObjectView becomes the intended way to
programmatically populate a map with map objects. Objects can still
be declared inside a Map{} element, but to programmatically add them
it is necessary to add them to a MapObjectView that is added to the
map.
MapObjectView has then 3 ways to populate the map: via nested map
objects, via a model, and via programmatically added map objects.
All these 3 ways can be used simultaneously.
Change-Id: Ic7712355fa5e5787a0b83d9547693e288cba1960
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
|
|
|
|
|
| |
Change-Id: I3680550ae22ef4b143f2e545f672905737a41df2
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
|
|
|
|
|
|
|
|
| |
If we don't set CXX_MODULE, qmake will add "declarative_" prefix to target name
which will cause problems when we import the module.
Change-Id: Idae0970be944d8a218a4b720625a9ac596b6660c
Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Introducing the new labs qml plugin, Qt.labs.location, and
associated qt module.
The intended use is to introduce and validate new QML API
before they can be moved into QtLocation.
Change-Id: If70d1dcedaf708be96e918dc5e25578df93db370
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
| |
Change-Id: I50c83fa2fee637d04ec6742515311a202c2a4006
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
src/imports/location/location.cpp
src/plugins/geoservices/mapbox/qgeoroutereplymapbox.cpp
Change-Id: I0c1ce33cff7bb1a65e65b8adafd2b31eb936d515
|
| |
| |
| |
| |
| | |
Change-Id: I2b9751dcdcee4a5d8d3353bfc2fcc43cd995b584
Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
In this way it will be possible to use these types in additional QML
plugins/components
Change-Id: Ie82e37877198b99a98ff4a2b076f39f6a9e4fe32
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch replaces QGeoCoordinate with Waypoint as mean to specify
waypoints in a RouteQuery.
This patch also adds a new invokable to RouteQuery, waypointObjects,
to return QDeclarativeGeoWaypoints instead of QGeoCooordinates.
NOTE: If, by 5.11, support to perform implicit conversions in method
invocations based on converters registered in the metatype system
will be added, this method could/should be removed, and
QDeclarativeGeoWaypoint objects should be return as QVariants from
the waypoints() getter, as they could be used in place of
QGeoCoordinate when passing them as arguments.
Task-number: QTBUG-64066
Change-Id: I77747f53cdcbabe6430580b60fa59d4afe8c650a
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|\
| |
| |
| | |
Change-Id: Ibfd8b430011abb0a7174bbcc158b03f8e26492eb
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It seems that if m_positionSource gets created too late, PositionSource
never becomes active so it never starts pushing position updates.
Task-number: QTBUG-62778
Change-Id: I7b375e9f9f1fbe546dfc27fa6bf0c431df393e65
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch introduces a new QGeoShape, QGeoPolygon, together
with helper functions in the location singleton (QtPositioning.*)
to create and convert geopolygons from QML.
[ChangeLog][QtPositioning][QGeoPolygon] Added QGeoPolygon shape.
Change-Id: I111c576d7428f2a953f0459d16c25eea7ab2bd7c
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch enriches QGeoMapType/QDeclarativeGeoMapType embedding into
this object the camera capabilities for this type, that are then exposed
via a new QML Type, CameraCapabilities, and custom metadata in form
of a QVariantMap, that can be accessed via the new metadata property.
[ChangeLog][QtLocation][QDeclarativeGeoMapType] Added CameraCapabilities
and metadata properties to QDeclarativeGeoMapType.
Task-number: QTBUG-58931
Change-Id: I97a8852fbb3bbac88fdbf0d47e8247ea7ed1f31e
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
| |
Change-Id: Ic45f7c8aa819d373e96cf60082fcda95a63f79b8
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
| |
Change-Id: I5190564ef3e4a25f1e387c8918ec269a0a52bbea
Task-number: QTBUG-61266
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
| |
Change-Id: I675167f90579f9999d3e1d3cba42951bd5b7ea3b
Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
|
|
|
|
|
|
|
|
|
| |
As currently there is no way to create a pre-filled qgeopath,
this patch adds an overload to QtPositioning.geopath() to pass
parameters to the constructor.
Change-Id: I05af4dbef07bd62e9e2eace7105b5255e8a392fa
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
| |
Change-Id: Iba33d12fad113b64cb071f0542a2c92034ff755d
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
|
|
|
|
|
|
|
| |
positioning.cpp: cannot link to 'geoshape.contains'
Change-Id: I610dfe90432a224b2e20825c68d24c795774ae09
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
|
|
|
|
|
| |
Change-Id: Ie7885751121944544465d7efbf38c6744f9e30da
Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
|
|
|
|
|
|
|
| |
Change-Id: I4f0b09cb8aac0b4d4f2d27cf350a30b7ed800f11
Reviewed-by: Nico Vertriest <nico.vertriest@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
| |
Change-Id: I7385348d7b6ec22fa92ed1be65f89e262c38b5c0
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|\
| |
| |
| | |
Change-Id: I07a2f4160750b548dfee882cb9b5b057d83236e2
|
| |
| |
| |
| |
| |
| | |
Change-Id: I780c23ae48c548e799c853cd3a5ac1aa77586839
Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch lets a user create an external qml file, and put multiple
map items inside a parent MapItemGroup{}, and add that element to a Map
item.
QDeclarativeGeoMap gets also two associated methods: addMapItemGroup and
removeMapItemGroup to deal with item groups at runtime.
Additionally, clearMapItems now clears also added item groups.
Task-number: QTBUG-55211
Change-Id: Ie4e602e4bda65fb56422b721be5fd34c54eb7954
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change allows the user to create a separate
MapCopyrightsNotice, and source the notice from a Map
element.
The purpose is to allow the user to stack multiple Map
elements and have a cleanly arranged set of copyright
notices on top of this stack.
To do so it is now possible to setCopyrightsVisible(false)
on all the Map elements, then declare one notice per map,
and arrange it appropriately on top of the stack.
As for any other QQuickItem, a MapCopyrightsNotice cannot
be declared inside a Map {} element, and if done so, a
a warning will be produced.
Change-Id: Ie38dec40cf25f0c44d1da39fd74469944eb79eba
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QtLocation quick classes and headers are moved out of the import directory.
The location quick classes are now in a subdirectory inside the main qtlocation
module.
This is necessary in order to privately export certain classes, such as
Map Items classes, and create an API to inject these objects into QGeoMap
to let plugins render the Map Items directly
Change-Id: Ia6ba5f07c4eddd3c4c2ce54bf34f1afcd42c2558
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch uses QGeoShapes as data model inside the
QDeclarativeMapItemBase subclasses.
Advantages:
- avoids duplication of implementation for
geo-related methods (now only inside QGeoShapes).
- provides map items a bounding box, usable for
area based item searching ,or simple viewport fitting
- allows to follow the graphics-view pattern, and
have the same items visualized in different Maps
(not yet supported).
Change-Id: I6eec738fef5d753d90bdeeb4b109be89155b25f8
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch uses QGeoShape::boundingGeoRectangle to set the visible
region, supporting the new QGeoShapes, simplifying the logic in
::fitViewportToGeoShape, and not requiring updates if new QGeoShapes
are added.
Change-Id: I4f4c21bc0b62aae9432024d8f20db774d191255b
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch changes the ramp values from being [2.0,3.0] to [1.5, 2.5].
These ranges are the ranges in which the opacity is linearly dimmed.
Reducing this value allows items to be visible for half a zoom level
more, easing debugging of items that have to be viewed at full map.
Change-Id: I973e7bcac7ec6cfb545e9c68ffd8966b1203a9cf
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch adds proper rotation/tilting support to Map Items.
To do so, clipping is now performed in wrapped mercator space
instead of screen space.
This prevents projection of geo coordinates that ended behind
the camera, and that would be projected incorrectly by the
projection transformation.
This patch therefore does not use the screen clipping code
any longer (clipPathToRect), since the geometry has already
been clipped.
The downside is that updateSourcePoints is now necessary for
any viewport change.
This would be necessary anyway in presence of tilt or rotation.
NB: Handling of MapQuickItems with zoomLevel set is still TODO.
Future work:
1) Optimize updateSourcePoints by pre-computing the mercator
projection of the geometry, and let updateSourcePoints do only
the wrapping/clipping/projection-to-screen operations.
2) Remove updateScreenPoints altogether
Change-Id: Ie0d3dbef68d48ac97a596d40240d0ac126c0efaf
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Currently map items are positioned based on their "first" coordinate.
This was because the leftbound was updated at every point update.
Now that the geo left bound is data-driven, it is possible to use it
to position elements on map. So that polylines and polygons won't
wrap around based on their first coordinate (wherever it is), but
on their geoLeftBound.
This means that two identical polygon with the coordinate list starting
at different offset will wrap around in the same way.
Same for polylines.
And circles won't wrap around anymore on their topmost point, but based on
their leftbound too.
Change-Id: I04dd04633b878f85e605af8fa84c3cd477a76e32
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch introduces a new camera parameter, field of view, used in
QGeoCameraCapabilities, QGeoCameraData and QDeclarativeGeoMap.
This is necessary as now QtLocation supports map tilting, and different
QGeoMap implementations support different ranges for the field of view
of the camera.
Through this API it becomes possible to query the supported range and
current value, and to stack Map elements using different plugins
while keeping a consistent camera projection across all of them.
Change-Id: Ie061142bea090ec223d842efbe7924f924430496
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QDeclarativeGeoMap currently does not provide any mean to set bearing
and tilt into qgeocameradata.
It has been not a problem since QGeoTiledMap and sons did not support
it.
External renderers however support it, so this patch adds QML api
calls to control these parameters, and adapt the existing logic
to take them into consideration in camera-related
calls, as well as in the afterViewportChange handlers of the Map
Items.
This patch also sligthly modifies the QML api to make the handling
of all the bounded camera property more homogeneous.
Minimum and maximum zoom levels prior plugin initialization
aren't -1 anymore, but are some valid lower and upper bounds
for this property, that is 0 and 30.
in this way all the 2 bounded properties (zoomLevel and
tilt) behave the same, in that they can be freely set before plugin
initialization, within reasonable predefined bounds, and, after that,
they may be clamped depending on the actual plugin capabilities.
Autotests for the QML part of the API included.
Change-Id: I9d09e32698a7330388e465e8ea7523ee39577d34
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch simplifies the QGeoMap API removing all the API
necessary to convert to and from screen.
This is now demanded to a specific QGeoProjection class, that will
be independent of the map, except for using the same Geo projection
(currently only WebMercator, or EPSG:3857, although we use a sphere
instead of an ellipsoid, i believe)
The benefits are
- This relieves subclasses of QGeoMap from implementing a
GeoProjection API, especially since QtLocation currently supports
only WebMercator, and reimplementations would have to anyway
produce the same results as the inbuilt one.
- This avoids the several indirection steps previously necessary
to perform a map projection (qgeotiledmap -> private->mapscene->
private). Since these operation are quite frequent one per
map item coordinate at every redraw, shortening the indirection
chain is beneficial
- It simplifies the highly complex QGeoTiledMapScene, separating
all the logic that is not needed to draw the scene, but only
to perform geo coordinate <-> screen coordinate conversion
Change-Id: I9e3ca5280166f2d6430a32deb44c030d02d9d4e1
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Currently the zoomLevel is the power of 2 reflecting how many tiles
are in a map edge.
This means that two plugins with two different tileSize will show a
map of different size at the same zoomLevel.
With this patch the zoomLevel is "normalized" upon a tileSize of 256,
regardless of the tile size in use.
In this way, the new 256 based zoom level can be a consistent parameter
also for plugins that are not tile based.
CameraCapabilities therefore now offers two new methods,
m[in,ax]imumZoomLevelAt256, that return the respective value for
the normalized 256^2 tilesize.
It also gets a setTileSize, which is currently not used as all our
plugins use a tile size of 256 (which is the camera capabilities
default tilesize value).
Change-Id: Ib12092fd14faf7fc85f8be5fb799dbd5496b760b
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QGeoProjection is currently a class containing only static methods for
WebMercator conversion/interpolation.
This patch renames it to QWebMercator, effectively freeing the
QGeoProjection name for a real projection class
Change-Id: I15b71d04f7d1d21a1d26f46687ed33aa277f6deb
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
qmlInfo will shortly be returning info-level messages (as the name
hints), rather than warning level messages.
Change-Id: I941f716c4fbe0566e1e5b0ecf673faa7283cde10
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|