summaryrefslogtreecommitdiff
path: root/src/imports
diff options
context:
space:
mode:
authorIan Chen <ian.1.chen@nokia.com>2012-07-31 16:29:16 +1000
committerQt by Nokia <qt-info@nokia.com>2012-08-06 11:19:22 +0200
commit929b974ca7f04c1affd7cb931d8dfe9f099d1cf7 (patch)
treed65550fcc0c3d35d4c399fffcfd77f8784c1bf56 /src/imports
parent15be466da2709bb7f71b963edbacfc19d3a028e7 (diff)
downloadqtlocation-929b974ca7f04c1affd7cb931d8dfe9f099d1cf7.tar.gz
Fix drawing circle at border when viewport width < map width
Change-Id: I5909a3333589176c48a26f84f8dac420ef9546e2 Reviewed-by: Aaron McCarthy <aaron.mccarthy@nokia.com>
Diffstat (limited to 'src/imports')
-rw-r--r--src/imports/location/qdeclarativecirclemapitem.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/imports/location/qdeclarativecirclemapitem.cpp b/src/imports/location/qdeclarativecirclemapitem.cpp
index ec96723a..3d0a0bc2 100644
--- a/src/imports/location/qdeclarativecirclemapitem.cpp
+++ b/src/imports/location/qdeclarativecirclemapitem.cpp
@@ -609,7 +609,6 @@ void QDeclarativeCircleMapItem::updateCirclePathForRendering(QList<QGeoCoordinat
const QGeoCoordinate &center,
qreal distance)
{
-
qreal poleLat = 90;
qreal distanceToNorthPole = center.distanceTo(QGeoCoordinate(poleLat, 0));
qreal distanceToSouthPole = center.distanceTo(QGeoCoordinate(-poleLat, 0));
@@ -620,12 +619,13 @@ void QDeclarativeCircleMapItem::updateCirclePathForRendering(QList<QGeoCoordinat
QList<int> wrapPathIndex;
// calculate actual width of map on screen in pixels
QPointF midPoint = map()->coordinateToScreenPosition(map()->cameraData().center(), false);
- QPointF midPointPlusOne = QPoint(midPoint.x() + 1.0, midPoint.y());
+ QPointF midPointPlusOne(midPoint.x() + 1.0, midPoint.y());
QGeoCoordinate coord1 = map()->screenPositionToCoordinate(midPointPlusOne, false);
qreal geoDistance = coord1.longitude() - map()->cameraData().center().longitude();
if ( geoDistance < 0 )
geoDistance += 360;
qreal mapWidth = 360.0 / geoDistance;
+ mapWidth = qMin(static_cast<int>(mapWidth), map()->width());
QPointF prev = map()->coordinateToScreenPosition(path.at(0), false);
// find the points in path where wrapping occurs
for (int i = 1; i <= path.count(); ++i) {