Bump qtlocation version to 5.3.0

Change-Id: I5b8af17d3aa5846d405958fea05bdadc7988464c
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
Fix build with current qtdeclarative.

Change-Id: I1315d984216309ed2f76e8326c231752aa98ab3e
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
Performance enhancements for map tile textures

Unnecessary image conversion for premultiplied textures is now avoided.

Map tile textures are now applied correcly to their geometries, so that
vertical mirroring is no longer needed for the textures.

Mipmaps are disabled for map tile textures. Different tiles are already
used for different zoom levels.

Change-Id: I546bffc8b7f6b2a777d9805c434697f2284ec082
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Added possibility to create a georectangle from a list of coordinates

It will create the smallest possible rectangle that contains all of the
coordinates. This is accessible from qml using the locationsingleton.
The plan is to include the ability to fit the view-port of the map
to a georectangle.

Change-Id: I616ac8ef169f697e53a3d9ebcf114f4f2cde8298
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
Make geo coordinates animatable in QML.

Interpolation logic in AnimatableCoordinate has been moved around so
that QGeoCoordinates can be animated directly by QPropertyAnimation.

A new QML type has been added, 'CoordinateAnimation', for animating
coordinates in QML. This type follows
the pattern of 'ColorAnimation' and other specializations of
'PropertyAnimation'.

QDoubleVector2D, QDoubleVector3D and QGeoProjection has been moved to QtPositioning

Testcase for CoordinateAnimation has been added to declarative_ui.

AnimatableCoordinate and QGeoCoordinateInterpolator are redundant
and have been removed.

Change-Id: I0809da566e1800274384f9c5337df65623d1e61a
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
Added qml function to fit map to geo shape

Added a qml invokable function in the map object to fit the viewport
to a geo shape. It's heavily influenced from fitViewportToMapItems.
Also added some basic ui tests.

Added handlig for the case with an empty shape

Change-Id: Iecad849f2c1b6d9a54eab90e26435b31a138886c
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
Made fitViewportTo* methods honor qml animations

fitViewportToMapItems and fitViewportToGeoShape ignored any animations
that was set on center and zoomLevel in qml. With this change they
are now properly animatied if any animation is specified in qml.

Change-Id: I8f88875cc9a528566ecdbe5484a413459787b316
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
Merge branch 'stable' into dev

Conflicts:
	src/imports/location/qdeclarativegeomap.cpp
	src/imports/location/qdeclarativegeoroute.cpp
	src/imports/location/qdeclarativegeoroutemodel.cpp
	src/imports/location/qdeclarativegeoroutesegment.cpp
	src/imports/location/qdeclarativepolygonmapitem.cpp
	src/imports/location/qdeclarativepolylinemapitem.cpp
	src/imports/positioning/positioning.cpp

Change-Id: Ieaa5f567d2144d0267e7eef5bd75bde7e0079fbe
Introduces 5.3 QML APIs.

Existing 5.2 QML APIs automatically become available
under 5.3 import tags too

Change-Id: I5101c63eaaa00a124475bbc7f60fda0eecfde6ec
Reviewed-by: Erik Mattsson <erik.mattsson@appello.com>
Reviewed-by: Anders Gunnarsson <anders.gunnarsson@appello.com>
Reviewed-by: Aaron McCarthy <mccarthy.aaron@gmail.com>
Update Qt Creator QML meta data following recent version changes

Change-Id: I6331a0cde85dd3c4ba69e4f67db53e67aa696db1
Reviewed-by: Erik Mattsson <erik.mattsson@appello.com>
Reviewed-by: Anders Gunnarsson <anders.gunnarsson@appello.com>
Reviewed-by: Aaron McCarthy <mccarthy.aaron@gmail.com>
Enabled setting max/min zoom level in declarative map

Created setters for max & min zoom level qproperty in declarative geo map.
The new max/min values are set in the gesture area so the camera data
values set by the plugin are still intact.

Change-Id: I502159c1842238f41c2d598d2fb82c761af9535b
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
New copyright logo for nokia maps plugin

Since Nokia maps is now Here maps we need to update the copyrigt
logo in the maps view to the Here logo.

Change-Id: Ice6b08afbe7eedefd93a6fb1733df1aa07f30577
Reviewed-by: Aaron McCarthy <mccarthy.aaron@gmail.com>
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
Fixed broken test cases with incomplete test plugin configuration

The test plugin is experimental and requires allowExperimental == true
to be used

Change-Id: Id27d4b2a4a9597fc42a725435cac49b898010e4a
Reviewed-by: Aaron McCarthy <mccarthy.aaron@gmail.com>
Always use double point precision for geo lookups internally

This patch is to remedy rounding errors on ARM devices where
qreal is defined as a float instead of double.

The main change is to replace QPointF with QDoubleVector2D when using
screenPositionToCoordinate and coordinateToScreenPosition. In many
cases the QDoubleVector2D is converted to QPointF when the increased
precision is not used. This because many of the surounding classes uses
qreal so the precsision would be lost anyway. These classes include
QVectorPath, QPainterPath and QQuickItem.

The most important change is in polyline and polygon map item in the
updateSourcePoints methods. Using floating point precision here resulted
in many precision errors that caused for example route lines to be
chopped of as the method erroneously thought it needed to wrap to the other
side of the datum line.

The external uses of the coordinate lookup functions in declarative geo map
has been left untouched so they still use QPointF for compatibility reasons. Not
sure how the process goes when updating externally visible parts of the API

Change-Id: I01ed67a0563cfb5c4ff2db6395b7a62eaa8e4a19
Reviewed-by: Aaron McCarthy <mccarthy.aaron@gmail.com>
Upgraded Nokia Route API from 6.2 to 7.2

Since the 7.2 API supports many more lanugages(23 compared to 4) and is the
only version that supports China it was necessary to upgrade the nokia route
plugin to 7.2.

The major change is that 7.2 does not support multiple mode parameters which
6.2 did. Now if the user selects multiple route optimizations multiple
requests will be made, one for each optimization. Nokia has also reduced
the amount of different route modes, only fastest and shortest are supported
now.

In the response part noting has changed, so no parsing fixes were necessary.

Task-number: QTBUG-24808

Change-Id: I256079f9a1e91e11c961849c95b95b712021ace0
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
Removed timer for press time in QDeclarativeGeoMapGestureArea

The timer was used to let panning start with any movement after a
certain time. Before that time the startDragDistance from a platform
was used as threshold for pan start.
This causes trouble on platforms with touch interaction since start of
panning breaks a long press. When using touch before this change, a
long press on an item on top of the QDeclarativeGeoMapGestureArea
was difficult to achieve.

Change-Id: I1a265626b1b28dd5618eb83239a946ad8d25187a
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
Merge branch 'stable' into dev

Change-Id: Ia0af08e46e39b783ffa0773bbc43a9a5a78c28bc
Merge "Merge branch 'stable' into dev" into refs/staging/dev
Initialize the center of the Map item

Center is initialized with center (latitude and longitude) being NAN.
Without initializing the center the Map item is not useable (navigation is not working)
and it sometimes crashes.

Change-Id: I708e9f0efd05ee0b3ed0ebc0f0cac818b6185c12
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
Fix crash (null pointer dereference).

When accessing the path property of a RouteSegment, QtLocation will
crash when trying to create a QJSValue. A call too QQmlEngine::contextForObject
returns a null pointer because a context has not been set. This patch
fixes the problem by properly setting the context when creating the QObjects.

Change-Id: I9dc4a1e7c1b5b6db64a54c21121e72272f333ab4
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>