summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Blasche <alexander.blasche@theqtcompany.com>2015-02-20 15:43:08 +0100
committerAlex Blasche <alexander.blasche@theqtcompany.com>2015-02-25 08:01:23 +0000
commit351e07dc2c96f70867dca6aaf7d2eb2919ba3d01 (patch)
treeb4ae04117d6d8657b4b9a4886bab2e658dfcf3f9
parentebf8bfec10bae10f14e03bee58b23915540490a2 (diff)
downloadqtlocation-351e07dc2c96f70867dca6aaf7d2eb2919ba3d01.tar.gz
Fix QtLocation QML snippets
Most of the snippets did not work and/or had outdated API usage. Change-Id: Ib8949ab6d007c4eaa3638fb40473bf6d217edd36 Reviewed-by: Michal Klocek <michal.klocek@theqtcompany.com> Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
-rw-r--r--src/imports/location/qdeclarativegeoroute.cpp4
-rw-r--r--src/location/doc/snippets/declarative/declarative.pro1
-rw-r--r--src/location/doc/snippets/declarative/places.qml25
-rw-r--r--src/location/doc/snippets/declarative/places_loader.qml3
-rw-r--r--src/location/doc/snippets/declarative/routing.qml54
-rw-r--r--src/location/doc/snippets/declarative/testpolymapobjects.qml411
6 files changed, 52 insertions, 446 deletions
diff --git a/src/imports/location/qdeclarativegeoroute.cpp b/src/imports/location/qdeclarativegeoroute.cpp
index aa50025b..fc65afcf 100644
--- a/src/imports/location/qdeclarativegeoroute.cpp
+++ b/src/imports/location/qdeclarativegeoroute.cpp
@@ -69,7 +69,9 @@ QT_BEGIN_NAMESPACE
\snippet declarative/routing.qml QtQuick import
\snippet declarative/routing.qml QtLocation import
\codeline
- \snippet declarative/routing.qml Route Maneuver List
+ \snippet declarative/routing.qml Route Maneuver List1
+ \snippet declarative/routing.qml Route Maneuver List2
+ \snippet declarative/routing.qml Route Maneuver List3
*/
diff --git a/src/location/doc/snippets/declarative/declarative.pro b/src/location/doc/snippets/declarative/declarative.pro
index e6ff7ce6..226010cc 100644
--- a/src/location/doc/snippets/declarative/declarative.pro
+++ b/src/location/doc/snippets/declarative/declarative.pro
@@ -1,6 +1,7 @@
TEMPLATE = aux
content.files = \
+ declarative-location.qml \
maps.qml \
places.qml \
plugin.qml \
diff --git a/src/location/doc/snippets/declarative/places.qml b/src/location/doc/snippets/declarative/places.qml
index fdd2a981..f85a3a8f 100644
--- a/src/location/doc/snippets/declarative/places.qml
+++ b/src/location/doc/snippets/declarative/places.qml
@@ -47,6 +47,7 @@ import QtLocation 5.3
//! [QtLocation import]
Item {
+ width: 400; height: 400;
Plugin {
id: myPlugin
}
@@ -137,7 +138,7 @@ Item {
plugin: myPlugin
// Brisbane
- searchArea: QtLocation.circle(QtLocation.coordinate(-27.46778, 153.02778))
+ searchArea: QtPositioning.circle(QtPositioning.coordinate(-27.46778, 153.02778))
onSearchTermChanged: update()
}
@@ -328,24 +329,6 @@ Item {
}
//! [Place savePlace def]
-
- //! [Search MapItemView]
- MapItemView {
- model: searchModel
- delegate: MapQuickItem {
- coordinate: place.location.coordinate
-
- anchorPoint.x: image.width * 0.5
- anchorPoint.y: image.height
-
- sourceItem: Image {
- id: image
- source: "marker.png"
- }
- }
- }
- //! [Search MapItemView]
-
function fetchDetails() {
//! [Place fetchDetails]
if (!place.detailsFetched)
@@ -380,7 +363,7 @@ Item {
function saveToNewPlugin() {
//! [Place save to different plugin]
- place = Qt.createQmlObject('import QtLocation 5.3; Place { }', parent);
+ var place = Qt.createQmlObject('import QtLocation 5.3; Place { }', parent);
place.plugin = destinationPlugin;
place.copyFrom(originalPlace);
place.save();
@@ -423,7 +406,7 @@ Item {
//! [Place favorite]
function saveFavorite() {
- var place;
+ var place = Qt.createQmlObject('import QtLocation 5.3; Place { }', parent);
var destinationPlugin
//! [Place saveFavorite]
place.initializeFavorite(destinationPlugin);
diff --git a/src/location/doc/snippets/declarative/places_loader.qml b/src/location/doc/snippets/declarative/places_loader.qml
index d135b4c3..a52a4b04 100644
--- a/src/location/doc/snippets/declarative/places_loader.qml
+++ b/src/location/doc/snippets/declarative/places_loader.qml
@@ -45,6 +45,7 @@ import QtLocation 5.3
Rectangle {
width: 360
height: 360
+ property variant startCoordinate: QtPositioning.coordinate(-27.46778, 153.02778)
Plugin {
id: myPlugin
@@ -61,7 +62,7 @@ Rectangle {
plugin: myPlugin
searchTerm: "pizza"
- searchArea: QtLocation.circle( -27.46778, 153.02778 )
+ searchArea: QtPositioning.circle(startCoordinate)
Component.onCompleted: update()
}
diff --git a/src/location/doc/snippets/declarative/routing.qml b/src/location/doc/snippets/declarative/routing.qml
index 8f03ea37..cc091672 100644
--- a/src/location/doc/snippets/declarative/routing.qml
+++ b/src/location/doc/snippets/declarative/routing.qml
@@ -39,32 +39,47 @@
****************************************************************************/
//! [QtQuick import]
-import QtQuick 2.0
+import QtQuick 2.3
//! [QtQuick import]
+import QtPositioning 5.3
//! [QtLocation import]
import QtLocation 5.3
//! [QtLocation import]
Item {
- //! [RouteManeuver]
- Text {
- text: "Distance till next maneuver: " + routeManeuver.distanceToNextInstruction + " meters, estimated time: " + routeManeuver.timeToNextInstruction + " seconds."
+ width: 1000
+ height: 400
+
+ Plugin {
+ id: aPlugin
+ name: "osm"
}
- //! [RouteManeuver]
- //! [RouteSegment]
- Text {
- text: "Segment distance " + routeSegment.distance + " meters, " + routeSegment.path.length + " points."
+ RouteQuery {
+ id: aQuery
+ waypoints: [
+ { latitude: -27.575, longitude: 153.088},
+ { latitude: -27.465, longitude: 153.023}
+ ]
+ travelModes: RouteQuery.CarTravel
+ routeOptimizations: RouteQuery.ShortestRoute
}
- //! [RouteSegment]
- //! [Route Maneuver List]
+ //! [Route Maneuver List1]
RouteModel {
id: routeModel
// model initialization
+ //! [Route Maneuver List1]
+ plugin: aPlugin
+ autoUpdate: true
+ query: aQuery
+ //! [Route Maneuver List2]
}
+
ListView {
+ id: listview
+ anchors.fill: parent
spacing: 10
model: routeModel.status == RouteModel.Ready ? routeModel.get(0).segments : null
visible: model ? true : false
@@ -74,10 +89,25 @@ Item {
property bool hasManeuver : modelData.maneuver && modelData.maneuver.valid
visible: hasManeuver
Text { text: (1 + index) + "." }
+ Text { text: hasManeuver ? modelData.maneuver.instructionText : "" }
+ //! [Route Maneuver List2]
+ property RouteManeuver routeManeuver: modelData.maneuver
+ property RouteSegment routeSegment: modelData
+
+ //! [RouteManeuver]
+ Text {
+ text: "Distance till next maneuver: " + routeManeuver.distanceToNextInstruction
+ + " meters, estimated time: " + routeManeuver.timeToNextInstruction + " seconds."
+ }
+ //! [RouteManeuver]
+
+ //! [RouteSegment]
Text {
- text: hasManeuver ? modelData.maneuver.instructionText : ""
+ text: "Segment distance " + routeSegment.distance + " meters, " + routeSegment.path.length + " points."
}
+ //! [RouteSegment]
+ //! [Route Maneuver List3]
}
}
- //! [Route Maneuver List]
+ //! [Route Maneuver List3]
}
diff --git a/src/location/doc/snippets/declarative/testpolymapobjects.qml b/src/location/doc/snippets/declarative/testpolymapobjects.qml
deleted file mode 100644
index a534d301..00000000
--- a/src/location/doc/snippets/declarative/testpolymapobjects.qml
+++ /dev/null
@@ -1,411 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2015 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the examples of the Qt Mobility Components.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import Qt 4.7
-import QtMobility.location 1.2
-import "landmarkmapcommon" as Common
-import "landmarkmapmobile" as Mobile
-
-import QtQuick 1.0
-
-Item {
- id: page
- width: 420
- height: 580
- focus: true
-
-
- //![Wherever I may roam]
- PositionSource {
- id: myPositionSource
- active: true
- nmeaSource: "nmealog.txt"
- updateInterval: 2000
- onPositionChanged: {
- console.log("Position changed in PositionSource")
- myPathPolyline.addCoordinate(position.coordinate)
- }
- }
- //![Wherever I may roam]
-
- LandmarkModel {
- id: landmarkModel
- autoUpdate: true
- onModelChanged: {
- console.log("Landmark model changed, landmark count: " + count)
- }
- limit: 20
- }
-
- Mobile.TitleBar { id: titleBar; z: 5; width: parent.width - statusBar.width; height: 40; opacity: 0.8 }
- Mobile.StatusBar { id: statusBar; z: 6; width: 80; height: titleBar.height; opacity: titleBar.opacity; anchors.right: parent.right}
-
- Coordinate {
- id: defaultMapCenter
- latitude: -28.35
- longitude: 153.4
- }
-
- Rectangle {
- id: dataArea
- anchors.top: titleBar.bottom
- anchors.bottom: page.bottom
- width: page.width
- color: "#343434"
- Image { source: "landmarkmapmobile/images/stripes.png"; fillMode: Image.Tile; anchors.fill: parent; opacity: 0.3 }
-
- //![MapObjectView]
- Map {
- id: map
- plugin : Plugin { name : "nokia" }
- anchors.fill: parent; size.width: parent.width; size.height: parent.height; zoomLevel: 12
- center: myPositionSource.position.coordinate
-
- MapObjectView {
- id: circle_basic_view
- model: landmarkModel
- delegate: Component {
- id: circleMapDelegate
- MapCircle {
- color: "red"
- radius: 500
- center: landmark.coordinate
- }
- }
- }
- //![MapObjectView]
-
- MapObjectView {
- id: text_basic_view
- model: landmarkModel
- delegate: textMapDelegate
- }
-
- MapPolyline {
- id: myPathPolyline
- border {color: "red"; width: 4}
- }
-
- //![Basic MapPolygon]
- MapPolygon {
- id: polygon
- color: "blue"
- Coordinate {
- id: topLeftCoordinate
- latitude: -28.35
- longitude: 153.4
- }
- Coordinate {
- id: rightCoordinate
- latitude: -28.34
- longitude: 153.45
- }
- Coordinate {
- id: bottomLeftCoordinate
- latitude: -28.33
- longitude: 153.4
- }
- }
- //![Basic MapPolygon]
- //![Basic MapPolyline]
- MapPolyline {
- id: polyline
- border {color: "red"; width: 4}
- Coordinate {
- id: polylineTopLeftCoordinate
- latitude: -28.35
- longitude: 153.4
- }
- Coordinate {
- id: polylineRightCoordinate
- latitude: -28.34
- longitude: 153.45
- }
- Coordinate {
- id: polylineBottomLeftCoordinate
- latitude: -28.33
- longitude: 153.4
- }
- onPathChanged: {
- console.log('Polyline pathChanged signal received')
- }
- }
- //![Basic MapPolyline]
-
- //![Basic map position marker definition]
- MapCircle {
- id: myPositionMarker
- center: myPositionSource.position.coordinate
- radius: 100
- color: "yellow"
- }
- //![Basic map position marker definition]
- }
-
- MouseArea {
- anchors.fill: parent
-
- property bool mouseDown : false
- property int lastX : -1
- property int lastY : -1
-
- onPressed : {
- mouseDown = true
- // While panning, its better not to actively udpate the model
- // as it results in poor performance. Instead set opacity to make
- // it more obvious that the landmark positions are not valid.
- landmarkModel.autoUpdate = false
- lastX = mouse.x
- lastY = mouse.y
- }
- onReleased : {
- mouseDown = false
- landmarkModel.autoUpdate = true
- landmarkModel.update()
- lastX = -1
- lastY = -1
- }
- onPositionChanged: {
- if (mouseDown) {
- var dx = mouse.x - lastX
- var dy = mouse.y - lastY
- map.pan(-dx, -dy)
- page.state = "NoFollowing"
- lastX = mouse.x
- lastY = mouse.y
- }
- }
- onDoubleClicked: {
- page.state = "NoFollowing"
- map.center = map.toCoordinate(Qt.point(mouse.x, mouse.y))
- if (map.zoomLevel < map.maximumZoomLevel)
- map.zoomLevel += 1
- }
- }
-
- Component {
- id: textMapDelegate
- //![MapText]
- MapText {
- color: "blue"
- coordinate: landmark.coordinate
- text: landmark.name
- font.pointSize: 8
- }
- //![MapText]
- }
-
- Component {
- id: rectangleMapDelegate
- //![MapRectangle]
- MapRectangle {
- color: "yellow"
- topLeft: landmark.coordinate
- bottomRight: Coordinate {
- latitude: landmark.coordinate.latitude - 1
- longitude: landmark.coordinate.longitude + 1
- }
- }
- //![MapRectangle]
- }
-
- /* map mouse area testing
- Component {
- id: circleMapDelegate
- MapCircle {
- color: "red"
- radius: 500
- center: landmark.coordinate
-
- MapMouseArea {
- onPressed : {
- console.log('pressed in model circle')
- parent.color = "red"
- }
- onReleased : {
- console.log('released in model circle')
- parent.color = "yellow"
- }
- }
- }
- }
- */
-
- Mobile.Floater {
- id : dataFloater
- latitude: myPositionSource.position.coordinate.latitude
- longitude: myPositionSource.position.coordinate.longitude
- landmarks: landmarkModel.count
- }
-
- Item {
- id: sliderContainer
- anchors {bottom: toolbar0.top;}
- height: 40
- width: parent.width
-
- Common.Slider {
- id: zoomSlider;
- minimum: 1; maximum: 18;
- anchors {
- fill: parent
- bottomMargin: 5; rightMargin: 5; leftMargin: 5
- }
- onValueChanged: {
- map.zoomLevel = value
- }
- }
- }
-
- Mobile.ToolBar {
- id: toolbar0
- opacity: titleBar.opacity
- height: 40; width: parent.width
- anchors.bottom: toolbar1.top
- z: 6
- button1Label: "-myposmark"; button2Label: "+myposmark"; button3Label: "-"
- //![Basic remove MapObject]
- onButton1Clicked: {
- map.removeMapObject(myPositionMarker)
- }
- //![Basic remove MapObject]
- //![Basic add MapObject]
- onButton2Clicked: {
- map.addMapObject(myPositionMarker)
- }
- //![Basic add MapObject]
- onButton3Clicked: {
- }
- }
-
- Mobile.ToolBar {
- id: toolbar1
- opacity: titleBar.opacity
- height: 40; width: parent.width
- anchors.bottom: toolbar2.top
- z: 6
- button1Label: "+polyg"; button2Label: "-polyg"; button3Label: "-initpolyg3"
- //![Adding to polygon]
- onButton1Clicked: {
- polygon.addCoordinate(map.center)
- }
- //![Adding to polygon]
- //![Removing from polygon]
- onButton2Clicked: {
- polygon.removeCoordinate(map.center)
- }
- //![Removing from polygon]
- onButton3Clicked: {
- polygon.removeCoordinate(bottomLeftCoordinate)
- }
- }
-
- Mobile.ToolBar {
- id: toolbar2
- opacity: titleBar.opacity
- height: 40; width: parent.width
- anchors.bottom: toolbar3.top
- z: 6
- button1Label: "-iterpolyg2nd"; button2Label: "no follow"; button3Label: "+initpolyg3"
- //![Iterating and removing polygon]
- onButton1Clicked: {
- for (var index = 0; index < polygon.path.length; index++) {
- console.log("Latitude at index:" + index + " , " + polygon.path[index].latitude);
- }
- polygon.removeCoordinate(polygon.path[2])
- }
- //![Iterating and removing polygon]
- onButton2Clicked: {
- map.center = defaultMapCenter
- myPositionSource.active = false
- }
- onButton3Clicked: {
- polygon.addCoordinate(bottomLeftCoordinate)
- }
- }
-
- Mobile.ToolBar {
- id: toolbar3
- opacity: toolbar1.opacity
- height: 40; width: parent.width
- anchors.bottom: toolbar4.top
- z: 6
- button1Label: "+polyl"; button2Label: "-polyl"; button3Label: "+initpolyl3"
- onButton1Clicked: {
- polyline.addCoordinate(map.center)
- }
- //![Removing from polyline]
- onButton2Clicked: {
- polyline.removeCoordinate(map.center)
- }
- //![Removing from polyline]
- onButton3Clicked: {
- polyline.addCoordinate(polylineBottomLeftCoordinate)
- }
- }
-
- Mobile.ToolBar {
- id: toolbar4
- opacity: toolbar1.opacity
- height: 40; width: parent.width
- anchors.bottom: parent.bottom
- z: 6
- button1Label: "-iterpolyl2nd"; button2Label: "-"; button3Label: "-initpolyl3"
- //![Iterating and removing polyline]
- onButton1Clicked: {
- for (var index = 0; index < polyline.path.length; index++) {
- console.log("Index, latitude:" + index + " , " + polyline.path[index].latitude);
- }
- polyline.removeCoordinate(polyline.path[2])
- }
- //![Iterating and removing polyline]
- onButton2Clicked: {
- }
- onButton3Clicked: {
- polyline.removeCoordinate(polylineBottomLeftCoordinate)
- }
- }
-
- } // dataArea
-
-} // page
-
-
-