summaryrefslogtreecommitdiffstats
path: root/app/qml/MapWindow.qml
diff options
context:
space:
mode:
Diffstat (limited to 'app/qml/MapWindow.qml')
-rw-r--r--app/qml/MapWindow.qml356
1 files changed, 0 insertions, 356 deletions
diff --git a/app/qml/MapWindow.qml b/app/qml/MapWindow.qml
deleted file mode 100644
index efb4bcf..0000000
--- a/app/qml/MapWindow.qml
+++ /dev/null
@@ -1,356 +0,0 @@
-import QtLocation 5.9
-import QtPositioning 5.0
-import QtQuick 2.0
-
-import com.mapbox.cheap_ruler 1.0
-
-Item {
- id: mapWindow
-
- property int disOffset: fileOperation.getCarSpeed() // set Km/h
- property real rotateAngle: 0
- property var startPoint
- property var endPoint
-
- //turn by turn board view
- TbtBoard {
- id: tbt_board
- z: 1
- visible: false
- anchors.fill: parent
- }
-
- //mapview and route views
- Map {
- id: map
- anchors.fill: parent
-
- plugin: Plugin {
- name: "mapboxgl"
-
- PluginParameter {
- name: "mapboxgl.mapping.additional_style_urls"
- value: fileOperation.getMapStyleUrls()
- }
-
- PluginParameter {
- name: "mapboxgl.access_token"
- value: fileOperation.getMapAccessToken()
- }
- }
-
- center: ruler.currentPosition
- zoomLevel: 18
- tilt: 60
- gesture.acceptedGestures:MapGestureArea.NoGesture
- copyrightsVisible: false
-
- RotationAnimation on bearing {
- id: bearingAnimation
-
- duration: 250
- alwaysRunToEnd: false
- direction: RotationAnimation.Shortest
- running: true
- }
-
- Location {
- id: previousLocation
- coordinate: QtPositioning.coordinate(0, 0);
- }
-
- onCenterChanged: {
- if (previousLocation.coordinate === center)
- return;
-
- bearingAnimation.to = previousLocation.coordinate.azimuthTo(center);
- bearingAnimation.start();
-
- previousLocation.coordinate = center;
- }
-
- MapQuickItem {
- id: startMarker
-
- sourceItem: Image {
- id: greenMarker
- source: "qrc:///marker-green.png"
- }
- anchorPoint.x: greenMarker.width / 2
- anchorPoint.y: greenMarker.height / 2
- }
-
- MapQuickItem {
- id: endMarker
-
- sourceItem: Image {
- id: redMarker
- source: "qrc:///marker-end.png"
- }
- anchorPoint.x: redMarker.width / 2
- anchorPoint.y: redMarker.height / 2
- }
-
- MapItemView {
- model: routeModel
-
- delegate: MapRoute {
- route: routeData
- line.color: "#6b43a1"
- line.width: map.zoomLevel - 5
- opacity: (index == 0) ? 1.0 : 0.3
-
- onRouteChanged: {
- ruler.path = routeData.path;
- }
- }
- }
-
- MapQuickItem {
- zoomLevel: map.zoomLevel
-
- sourceItem: Image {
- id: carMarker
- source: "qrc:///car-marker.png"
- transform: Rotation {
- origin.x: carMarker.width / 2;
- origin.y: carMarker.height / 2;
- angle: rotateAngle
- }
- }
-
- coordinate: ruler.currentPosition
- anchorPoint.x: carMarker.width / 2
- anchorPoint.y: carMarker.height / 2
-
- Location {
- id: previousCarLocation
- coordinate: QtPositioning.coordinate(0, 0);
- }
-
- onCoordinateChanged: {
- if(coordinate === mapWindow.startPoint)
- return;
- rotateAngle = previousCarLocation.coordinate.azimuthTo(coordinate);
- previousCarLocation.coordinate = coordinate;
- }
- }
-
- //add route view in the map
- function updateRoute() {
- routeQuery.clearWaypoints();
- routeQuery.addWaypoint(startMarker.coordinate);
- routeQuery.addWaypoint(endMarker.coordinate);
- map.addMapItem(startMarker)
- map.addMapItem(endMarker)
- }
-
- //clear route view in the map
- function clearRoute() {
- routeQuery.clearWaypoints();
- routeModel.reset();
- map.removeMapItem(startMarker)
- map.removeMapItem(endMarker)
- }
-
- CheapRuler {
- id: ruler
-
- /* onCurrentDistanceChanged: {
- var total = 0;
- var i = 0;
- var alldistance = ruler.distance * 1000;
-
- if((routeModel.status === RouteModel.Ready)
- && (routeModel.count === 1))
- {
- // XXX: Use car speed in meters to pre-warn the turn instruction
- while (total < ruler.currentDistance && i < routeModel.get(0).segments.length)
- {
- total += routeModel.get(0).segments[i++].maneuver.distanceToNextInstruction;
- }
-
- //show the tbt board(it will be always show when demo start)
-// tbt_board.visible = true
-
- // Set turn instruction
- tbt_board.do_setTurnInstructions(routeModel.get(0).segments[i].maneuver.instructionText)
-// tbt_board.state = routeModel.get(0).segments[i].maneuver.direction
-
- //when goto the last instruction,set the states to "arriveDest"
- if(i >= (routeModel.get(0).segments.length-1))
- {
- total = alldistance;
-// tbt_board.state = "arriveDest";
- }
-
- var dis = (total - ruler.currentDistance).toFixed(1);
- //console.log("tbtnavi:dis = " + dis)
-
- // Set distance
- tbt_board.do_setDistance(dis)
-
- // Set board status
- if(dis < mapWindow.disOffset && i < routeModel.get(0).segments.length)
- {
- //show the tbt board(the big one)
- tbt_board.do_showTbtboard(true)
- }
- else
- {
- //disvisible the tbt board(the big one)
- tbt_board.do_showTbtboard(false)
- }
- }
- }*/ //deleted
- }
- }
-
- //the route view display by RouteModel
- RouteModel {
- id: routeModel
-
- autoUpdate: true
- query: routeQuery
-
- plugin: Plugin {
- name: "mapbox"
-
- // Development access token, do not use in production.
- PluginParameter {
- name: "mapbox.access_token"
- value: fileOperation.getMapAccessToken()
- }
- }
- }
-
- RouteQuery {
- id: routeQuery
- }
-
- Component.onCompleted: {
- //request the route info when map load finish
- console.log("Component.onCompleted")
- }
-
- //the functions can be called by outside
- //add route signal function
- function do_addRoutePoint(poi_Lat_s, poi_Lon_s, poi_Lat_e, poi_Lon_e,routes) {
-
- var latitude = ""
- var longitute = ""
- //when current point is null
- if((poi_Lat_s === "")
- &&(poi_Lon_s === ""))
- {
- latitude = fileOperation.getStartLatitude()
- longitute = fileOperation.getStartLongitute()
- }
- else
- {
- latitude = poi_Lat_s
- longitute = poi_Lon_s
- }
-
- startPoint= QtPositioning.coordinate( latitude,longitute);
- startMarker.coordinate = startPoint;
-
- if (ruler) {
- console.log ("latitude:"+latitude+" longitute:"+longitute)
- ruler.setCurrentCoordinate(latitude,longitute);
- if((routes !== 0)
- &&(poi_Lat_e !== "")
- &&(poi_Lon_e !== ""))
- {
- endPoint = QtPositioning.coordinate(poi_Lat_e,poi_Lon_e);
- endMarker.coordinate = endPoint;
- //update the route view
- if (map) {
- map.updateRoute();
- }
- }
- window.do_subscribe("gps")
- window.do_subscribe("getdestdir")
- window.do_subscribe("adddest")
- window.do_subscribe("setdemopos")
- window.do_subscribe("stopdemo")
- window.do_subscribe("arrivedest")
- }
- }
-
- //set the current position
- function do_setCoordinate(latitude,longitude) {
- ruler.setCurrentCoordinate(latitude, longitude);
- }
-
- function do_setDistance(distance) {
- ruler.setCurrentDistance(distance);
- }
-
- function do_setNextCrossDistance(distance) {
- var dis = distance;
- //console.log("tbtnavi:dis = " + dis)
-
- // Set distance
- tbt_board.do_setDistance(dis)
-
- // Set board status
- if((dis < mapWindow.disOffset) && (dis > 2))
- {
- //show the tbt board(the big one)
- tbt_board.do_showTbtboard(false)
- }
- else
- {
- //disvisible the tbt board(the big one)
- tbt_board.do_showTbtboard(false)
- }
- }
-
- function do_setDirection(direction) {
-// ruler.setCurrentDistance(direction);
- }
-
- function do_setTbtState(tbtstate) {
- //show the tbt board(it will be always show when demo start)
- tbt_board.visible = true;
- tbt_board.state = tbtstate;
- }
-
- //stop navidemo signal
- function do_stopnavidemo() {
- //disvisible the tbt board
- tbt_board.visible = false
- //clear the routeview
- if (map) {
- map.clearRoute();
- }
- }
-
- //arrvice the destination signal
- function do_arrivedest(){
- //disvisible the tbt board
- tbt_board.visible = false
- }
-
- //set the current position
- function do_setdest(allroutes,latitude,longitude) {
- if((allroutes !== 0)
- &&(latitude !== "")
- &&(longitude !== ""))
- {
- endPoint = QtPositioning.coordinate(latitude,longitude);
- endMarker.coordinate = endPoint;
-
- if (ruler) {
- if(allroutes !== 0)
- {
- //update the route view
- if (map) {
- map.updateRoute();
- }
- }
- }
- }
- }
-}