summaryrefslogtreecommitdiffstats
path: root/src/location/declarativemaps
Commit message (Collapse)AuthorAgeFilesLines
* Fix zoomLevel being emitted when the value has not changedPaolo Angelelli2018-02-121-2/+4
| | | | | | | | | | | Map.setZoomLevel currently clamps the user-set value to a valid range. The current implementation emits zoomLevelChanged every time the user-set value is different from the current value. This patch restrict emission to when the actual value has really changed. Change-Id: I2096b666d2a5b1849c9022cad028b826cfee2a78 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* Fix Map.zoomLevel not honoring user-set valuesPaolo Angelelli2018-02-122-3/+27
| | | | | | | | | | | | | Apparently m_userMinimumZoomLevel is set but not used when setting the zoom level. With this patch, the minimumZoomLevelChanged signal is still emitted when the "implicit" minimumZoomLevel of the map changes (the one derived from the map size), but only if no user minimum zoom level is explicitly set. Task-number: QTBUG-66107 Change-Id: Id7f87cbd237407b255deea90dad80eeadd2d2f0d Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* Clarify operation of QDeclarativeGeoMapItemBase::childMouseEventFilterPaolo Angelelli2018-01-251-3/+8
| | | | | Change-Id: I06353153980659bf9370705b2d7f4263d066bdad Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Fix copyright notice performance when adding/removing itemsPaolo Angelelli2018-01-164-70/+31
| | | | | | | | | | This change avoids rescanning the list of map items every time an item is added or removed, to recompute the Z value at which the copyright notice should go. Task-number: QTBUG-64880 Change-Id: Ieea77669f0140e43085a76dfd9dfdee40a335f5a Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Fix performance issue with copyright noticePaolo Angelelli2018-01-154-41/+100
| | | | | | | | | | | | Skip evaluating copyrights when the notice is not visible. The implication of this patch is that copyright information won't be up to date or even available unless there is an "attached" copyright notice that has the visible property set to true. Task-number: QTBUG-64880 Change-Id: I3750b61913becb0cbf31273ad9a76ae1a2b6a393 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Fix GeocodeModel getting stuck in Loading statusPaolo Angelelli2018-01-121-5/+6
| | | | | | | | Caused by a signal emitted before nulling a member Task-number: QTBUG-65498 Change-Id: Iad7ab8b2c6cfc290953191eab71ca9aa645ff499 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Fix fitViewportToMapItems in presence of MapQuickItems with zoomLevelPaolo Angelelli2018-01-112-22/+32
| | | | | | | | | | | | | | Map.fitViewportToMapItems currently uses the screen geometries of the items to calculate the new values for zoom level and center. When the zoomLevel property is set on MapQuickItems, their on-screen geometry is affected by a hidden transformation within the item. This patch considers that transformation in the calculations. Task-number: QTBUG-63093 Change-Id: I328028f1901b31225866aa3d749849815d59a2a1 Reviewed-by: Vlad Seryakov <vseryakov@gmail.com> Reviewed-by: Alex Blasche <alexander.blasche@qt.io> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Fix documented property types for Map propertiesPaolo Angelelli2018-01-101-5/+5
| | | | | | Task-number: QTBUG-65564 Change-Id: I9c52d0bdbbdd2eb0e41ff21741423aa7e22f3e28 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Use custom namespace in QtLocation's earcutBruno de Oliveira Abinader2018-01-091-1/+1
| | | | | | | | | The custom namespace avoids clashes with mapbox-gl-native's own earcut.hpp dependency. Task-number: QTBUG-65262 Change-Id: Ic5121e88dca45c01af7ce26e38a99a0cd2d1c88e Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Fix MapPolygon docPaolo Angelelli2017-11-031-0/+1
| | | | | | | | | | Document undefined behavior for less than 3 coordinates Task-number: QTBUG-63929 Change-Id: I3111637c625d6410e8bd58c566f54e3accadc2e3 Reviewed-by: Alex Blasche <alexander.blasche@qt.io> Reviewed-by: Ola Røer Thorsen <ola@silentwings.no> Reviewed-by: Bruno de Oliveira Abinader <brunoabinader@gmail.com>
* Fix MapGestureArea docPaolo Angelelli2017-09-121-1/+1
| | | | | | Task-number: QTBUG-62593 Change-Id: Ieb9a6d8b78b7b123f7376e7313d4a06a00a02841 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Add braces to fix compilation with clangRobert Loehning2017-09-121-2/+2
| | | | | | Change-Id: If79aca3d20475f7734cdd525747f44372ed930b7 Reviewed-by: Alex Blasche <alexander.blasche@qt.io> Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* Prevent MapItemView from fitting viewport on map when not readyPaolo Angelelli2017-09-111-1/+1
| | | | | Change-Id: I4c066c858801f9d80974018c00b245ec86c05d1e Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Mapbox GL native circle supportBruno de Oliveira Abinader2017-08-302-7/+11
| | | | | | | | | | Circles crossing one pole are drawn inverted. Circles crossing 2 poles do not even have the correct geometry. Nevertheless, a first approximation. Task-number: QTBUG-58869 Change-Id: I5a508f5d6e27c4f08412a7ae327883866068a1e9 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Fix PluginParameter not working with script as property valuesPaolo Angelelli2017-08-232-6/+58
| | | | | | | | | | | This patch introduces the undocumented QDeclarativeGeoServiceProviderParameter::initialized signal, to signal to the parent when a parameter becomes fully initialized, so that the parent QDeclarativeGeoServiceProvider can attach. Task-number: QTBUG-62075 Change-Id: Ie3615abf31d19f39587c5e54b202f8f2c4a711cc Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Fix GeocodeModel not autoUpdating if plugin attaches latePaolo Angelelli2017-08-231-0/+3
| | | | | | | | | This patch handles the case when the plugin attaches after QDeclarativeGeocodeModel::componentComplete() has been called. Change-Id: Ib9e4991ab3a4a34730da2d55fae20a492ac9d9f2 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* Fix QDeclarativeGeoMap::populateMap duplicating itemsPaolo Angelelli2017-08-231-8/+8
| | | | | | | | | | | Since apparently children() and childItems() do not necessarily return disjoint sets, concatenating the two lists did, in some cases, cause duplicated items in the map. This patch resorts to uniting sets to remove the duplicates. Change-Id: I07ef19a2fdff65429eb65d92be278d7c02ac1999 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* Fix visible region computation in QGeoProjectionWebMercatorPaolo Angelelli2017-08-091-11/+12
| | | | | | | | | | | | | | | | | | | | | Currently the visible region is calculated as the intersection between the viewing frustum and the map plane clipped against the map extended rectangle in mercator space (from -1 to 2 in x coords, 0 to 1 in y coords). The result is correct in the extended mercator space. However, this may lead to overlapping coordinates when converted back to latitude and longitude. For this reason, this patch changes the clipping geometry to be the map un-extended rectangle centered around the current map center. The result is a geometry that never wraps around or overlaps, thus removing the need for handling separately the case when the map is fully visible when returning the visible region. Task-number: QTBUG-57690 Change-Id: I8396c40a123ce94bff4388dfefbd8a694657b8bd Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* Restore usage of setProperty on Map.fitViewportToGeoShapePaolo Angelelli2017-08-091-2/+2
| | | | | | | | | | setProperty was initially introduced with 2867f1efc989478667ea7ae56ff91cd991d74121 to animate center and zoom level, if an animation was present, but then removed. This change restores it. Change-Id: Id1f6da820b6cccb62b18eeb78d7dba21ebc073bc Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Fix MapCircle artifacts with small radiusesPaolo Angelelli2017-08-032-7/+23
| | | | | | Task-number: QTBUG-62154 Change-Id: I86647b0509b4682ea6fde1305834b6a86b0b6f64 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Fix memleak: delete QGeoMap when QDeclarativeGeoMap gets deletedBogDan Vatra2017-07-284-21/+23
| | | | | | Task-number: QTBUG-62122 Change-Id: I538e1eeb6bce3f5de424003b0b31fa59599dc2d5 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Fix dragging items out of map boundsPaolo Angelelli2017-07-282-17/+38
| | | | | | | | | | | | | | | | | | | | | | | | | In 5.9.0 map items are clipped against the visible region. This implies that their geometry is also clipped against the visible region. This is problematic in ::geometryChanged, since the old geometry is always clipped in this way. This patch clips items against a "projectable" region instead, that is the part of the map that is in front of the camera. Since this can produce very large vertices, mapbox earcut 3rd party library is pulled in, to replace qTriangulate that only supports coordinates up to 1<<21. This patch also contains a fix for earcut.hpp to make it build also on QNX6.6 Task-number: QTBUG-61727 Change-Id: Iffc95fdae88fef982c1eb86db567b326b5e51057 Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Revert "Fix dragging items out of map bounds"Paolo Angelelli2017-07-192-38/+17
| | | | | | | | This reverts commit 2ab93acd9751b3ffe2c36a4a0e37dc792686a08f. Reason being: not passing QNX6 bot Change-Id: If45fe095b6e6959f7c40e3e0ed7a14d278bbb230 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Remove dead code in QDeclarativePolygon/Polyline MapItemsPaolo Angelelli2017-07-172-149/+0
| | | | | Change-Id: I95c1d361bd6ba43a3eed5465fc2f74b7a622af72 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Fix dragging items out of map boundsPaolo Angelelli2017-07-172-17/+38
| | | | | | | | | | | | | | | | | | | | | In 5.9.0 map items are clipped against the visible region. This implies that their geometry is also clipped against the visible region. This is problematic in ::geometryChanged, since the old geometry is always clipped in this way. This patch clips items against a "projectable" region instead, that is the part of the map that is in front of the camera. Since this can produce very large vertices, mapbox earcut 3rd party library is pulled in, to replace qTriangulate that only supports coordinates up to 1<<21. Task-number: QTBUG-61727 Change-Id: I7449e755a4848a2b2107c5de4e27821e3e887bfb Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Do not draw mapQuickItems if coordinate_ is invalidPaolo Angelelli2017-07-051-1/+8
| | | | | | | | | This change also reverts a4dc11fd52f42676265cff2ff9396a7396f1ccb3 Task-number: QTBUG-61070 Change-Id: I2046356e339b5889860b3dce10627d6b736ac02f Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Fix for Plugin.required being readonlyPaolo Angelelli2017-06-202-1/+24
| | | | | | | | | | The documentation clearly states that this property should be writable but it's not. Task-number: QTBUG-57419 Change-Id: I1dc93d45ddf52f2e1eee9572f153f4f19916ca2a Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Fix add/removeMapItemGroup not checking if the item is added to a mapPaolo Angelelli2017-06-183-6/+20
| | | | | | | | | Currently these methods aren't checking if a group is already added to another map. This patch fixes it. Change-Id: I58a5e633b44abfcae5c362f8e97d4c6706869ac5 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Fix MapQuickItems w/o zoomLevel sticking around when behind the cameraPaolo Angelelli2017-06-141-3/+14
| | | | | | | | | | | | This patch fixes the case when rendering a map with MapQuickItems in it that have the zoomLevel property not set and using a tilting angle. Without the patch, in some scenarios the items may stick around on the screen while they should simply go away. Change-Id: Ic485ecf5851d27a0248ff1745ae552bbb81423ba Reviewed-by: Thiago Marcos P. Santos <tmpsantos@gmail.com> Reviewed-by: Alex Blasche <alexander.blasche@qt.io> Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Fix for QDeclarativeGeoMapCopyrightNotice crashing the applicationPaolo Angelelli2017-06-142-6/+16
| | | | | | | | Some pointers were used without prior check. This adds checks where necessary. Change-Id: I82e01b72fd3a46a6add7cf286e81686b686b272b Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Fix Map.addMapItemGroup documentationPaolo Angelelli2017-06-121-3/+1
| | | | | | | Items in map item groups are not reparented anymore. Change-Id: I1d083bf8cba5aa46e8640c175bf90aa9f04b69aa Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Fix for GeocodeModel documentationPaolo Angelelli2017-06-091-3/+3
| | | | | | | Links to Location QML element are broken Change-Id: Iffda8fd8c8cdd9e00e45592ee2f0e971865defb9 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Fix incorrect Map.visibleRegion when all the map is visiblePaolo Angelelli2017-06-091-1/+11
| | | | | | Change-Id: I9d532416e0e6dd06f84216d97bcf160e3e8e43be Task-number: QTBUG-57690 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Fix documentation for return types from QJSValue to the actual QML typePaolo Angelelli2017-05-313-3/+3
| | | | | Change-Id: I6db1f0db07de3bb9446f0b04ea95f34b56acf805 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Check for validity in QDeclarativeGeoMapQuickItem::setCoordinatePaolo Angelelli2017-05-291-1/+1
| | | | | | Task-number: QTBUG-61070 Change-Id: I610a943e9aeaa2129b87bfd4e4f5afa391bc7c31 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Merge remote-tracking branch 'origin/5.9.0' into 5.9Liang Qi2017-05-231-3/+4
|\ | | | | | | Change-Id: I122bd675639baca961882ec9d512900f4e7e773b
| * Fix compile due to change in private API in qtdeclarativeJan Arve Saether2017-05-191-3/+4
| | | | | | | | | | | | | | | | | | | | e0c30279ec1fad88346ed3fb483bc3c672fdd01b in qtdeclarative changed some private APIs, so we need to adjust code correspondingly. Task-number: QTBUG-57253 Change-Id: I0cf30b5f4aaf5c040d72a384d87b0fe277a84d27 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* | Fix incorrect condition in QDeclarativeGeoMap::geometryChanged()Paolo Angelelli2017-05-231-1/+1
|/ | | | | | | | isEmpty should be used instead of !isValid, as 0,0 is a condition to skip as well. Change-Id: Ibbfa03b5a09fd0adf4b143d21674870301459f45 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Add pluginName to QGeoMapType and check against it in setActiveMapTypePaolo Angelelli2017-05-071-10/+24
| | | | | | | | | | | This patch adds a QByteArray member to QGeoMapType with the name of the plugin providing that map type. This value is then used to validate what is passed to QDeclarativeGeoMap::setActiveMapType to see if it's a map type for the currently set plugin. Change-Id: If15b67c32150f0c3c2815d28e26fc37138d4cf71 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Fix QDeclarativeGeoMap::visibleRegion when map is rotated/tiltedPaolo Angelelli2017-05-031-3/+6
| | | | | | | | This patch attempts to return something meaningful from that method also when the map is rotated/tilted, while waiting for QGeoPolygon. Change-Id: Id14853f2078ed399cf7f2c603ae7442489c07829 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Fix for MapGestureArea pinch and scroll wheel not honoring min zoomPaolo Angelelli2017-05-033-4/+23
| | | | | | | | | This patch fixes a regression introduced with e81ba34a98b259723e783e2d2df4321309992291, which made possible to zoom below the minimum valid zoom level for a viewport size. Change-Id: I4e71530b9bc5423ea24083146963c3bd0928f14a Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Move QGeoRectangle definition inside qgeorectangle.hPaolo Angelelli2017-05-031-1/+1
| | | | | | Change-Id: I7d0bb4eac89ca9a018f71faa9d73f62d97a24085 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Make error_messages.h privatePaolo Angelelli2017-05-028-9/+19
| | | | | Change-Id: Iba33d12fad113b64cb071f0542a2c92034ff755d Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Fix build for -no-feature-wheeleventStephan Binner2017-04-194-0/+10
| | | | | Change-Id: I69246dcaeda841892b1efe182725629517031447 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Fix build for -no-feature-cssparserStephan Binner2017-04-191-0/+2
| | | | | Change-Id: I06c0c1ad4744cd91a116906d7e7725f05cc35688 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Fix build for -no-feature-texthtmlparserStephan Binner2017-04-191-0/+16
| | | | | Change-Id: I9ab2c7b494aff0059f871a2bedee414559272a73 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Merge remote-tracking branch 'origin/5.8' into 5.9Liang Qi2017-04-181-1/+1
| | | | Change-Id: I8ce0a0994d57fb077be4b6771f219bfc4134aa22
* Clarify overzoomEnabled property of QGeoCameraCapabilitiesv5.9.0-beta2Paolo Angelelli2017-04-121-1/+3
| | | | | Change-Id: If6f8fd446c562d6ccaf368e1d5afb5eee113fece Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Allow overzooming when setting zoomLevel directly in a MapPaolo Angelelli2017-04-122-5/+7
| | | | | | | | | | | | | This patch moves the lower/upper bound check on setZoom from QDeclarativeGeoMap to the gesture area, allowing to set higher zoom levels than the maximumZoomLevel when setting Map.zoomLevel directly, for the map types that support overzoom. This is now safe as the bound check is introduced in the tile fetcher, so no invalid tiles will be requested, and is beneficial when combining layers supporting different maximum zoom levels. Change-Id: I08ee9c282ee2ebc1dafa3c68a238b93ffbc1ba02 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Fix for copyright notice not showing before map type is changedPaolo Angelelli2017-04-121-1/+19
| | | | | | Task-number: QTBUG-58801 Change-Id: I2a980c6d218d0d7e44277f7b31fcdd7355e31698 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>