diff options
Diffstat (limited to 'examples/location/mapviewer/mapviewer.qml')
-rw-r--r-- | examples/location/mapviewer/mapviewer.qml | 115 |
1 files changed, 53 insertions, 62 deletions
diff --git a/examples/location/mapviewer/mapviewer.qml b/examples/location/mapviewer/mapviewer.qml index 08967ded..adcd3fe8 100644 --- a/examples/location/mapviewer/mapviewer.qml +++ b/examples/location/mapviewer/mapviewer.qml @@ -38,10 +38,10 @@ ** ****************************************************************************/ -import QtQuick 2.4 -import QtQuick.Controls 1.3 -import QtLocation 5.3 -import QtPositioning 5.2 +import QtQuick 2.5 +import QtQuick.Controls 1.4 +import QtLocation 5.5 +import QtPositioning 5.5 import "map" import "menus" import "helper.js" as Helper @@ -72,64 +72,7 @@ ApplicationWindow { minimap = null } - map = Qt.createQmlObject ('import QtLocation 5.3;\ - import "map";\ - import "helper.js" as Helper;\ - MapComponent{\ - width: page.width;\ - height: page.height;\ - onFollowmeChanged: {mainMenu.isFollowMe = map.followme}\ - onSupportedMapTypesChanged: {mainMenu.mapTypeMenu.createMenu(map)}\ - onCoordinatesCaptured: {\ - var text = "<b>" + qsTr("Latitude:") + "</b> " + Helper.roundNumber(latitude,4) + "<br/><b>" + qsTr("Longitude:") + "</b> " + Helper.roundNumber(longitude,4);\ - stackView.showMessage(qsTr("Coordinates"),text);\ - }\ - onGeocodeFinished:{\ - if (map.geocodeModel.status == GeocodeModel.Ready) {\ - if (map.geocodeModel.count == 0) {\ - stackView.showMessage(qsTr("Geocode Error"),qsTr("Unsuccessful geocode"));\ - } else if (map.geocodeModel.count > 1) { \ - stackView.showMessage(qsTr("Ambiguous geocode"), map.geocodeModel.count + " " + \ - qsTr("results found for the given address, please specify location"));\ - } else { \ - stackView.showMessage(qsTr("Location"), geocodeMessage(),page);\ - ;}\ - } else if (map.geocodeModel.status == GeocodeModel.Error) {\ - stackView.showMessage(qsTr("Geocode Error"),qsTr("Unsuccessful geocode")); \ - }\ - }\ - onRouteError: {\ - stackView.showMessage(qsTr("Route Error"),qsTr("Unable to find a route for the given points"),page);\ - }\ - onShowGeocodeInfo:{\ - stackView.showMessage(qsTr("Location"),geocodeMessage(),page);\ - }\ - onErrorChanged: {\ - if (map.error != Map.NoError) {\ - var title = qsTr("ProviderError");\ - var message = map.errorString + "<br/><br/><b>" + qsTr("Try to select other provider") + "</b>";\ - if (map.error == Map.MissingRequiredParameterError) \ - message += "<br/>" + qsTr("or see") + " \'mapviewer --help\' "\ - + qsTr("how to pass plugin parameters.");\ - stackView.showMessage(title,message);\ - }\ - }\ - onShowMainMenu: {\ - mapPopupMenu.show(coordinate);\ - }\ - onShowMarkerMenu: {\ - markerPopupMenu.show(coordinate);\ - }\ - onShowRouteMenu: {\ - itemPopupMenu.show("Route",coordinate);\ - }\ - onShowPointMenu: {\ - itemPopupMenu.show("Point",coordinate);\ - }\ - onShowRouteList: {\ - stackView.showRouteListPage(); - }\ - }',page) + map = mapComponent.createObject(page); map.plugin = plugin; map.zoomLevel = (map.maximumZoomLevel - map.minimumZoomLevel)/2 } @@ -476,4 +419,52 @@ ApplicationWindow { currentItem.closeForm.connect(closeForm) } } + + Component { + id: mapComponent + + MapComponent{ + width: page.width + height: page.height + onFollowmeChanged: mainMenu.isFollowMe = map.followme + onSupportedMapTypesChanged: mainMenu.mapTypeMenu.createMenu(map) + onCoordinatesCaptured: { + var text = "<b>" + qsTr("Latitude:") + "</b> " + Helper.roundNumber(latitude,4) + "<br/><b>" + qsTr("Longitude:") + "</b> " + Helper.roundNumber(longitude,4) + stackView.showMessage(qsTr("Coordinates"),text); + } + onGeocodeFinished:{ + if (map.geocodeModel.status == GeocodeModel.Ready) { + if (map.geocodeModel.count == 0) { + stackView.showMessage(qsTr("Geocode Error"),qsTr("Unsuccessful geocode")) + } else if (map.geocodeModel.count > 1) { + stackView.showMessage(qsTr("Ambiguous geocode"), map.geocodeModel.count + " " + + qsTr("results found for the given address, please specify location")) + } else { + stackView.showMessage(qsTr("Location"), geocodeMessage(),page) + } + } else if (map.geocodeModel.status == GeocodeModel.Error) { + stackView.showMessage(qsTr("Geocode Error"),qsTr("Unsuccessful geocode")) + } + } + onRouteError: stackView.showMessage(qsTr("Route Error"),qsTr("Unable to find a route for the given points"),page) + + onShowGeocodeInfo: stackView.showMessage(qsTr("Location"),geocodeMessage(),page) + + onErrorChanged: { + if (map.error != Map.NoError) { + var title = qsTr("ProviderError") + var message = map.errorString + "<br/><br/><b>" + qsTr("Try to select other provider") + "</b>" + if (map.error == Map.MissingRequiredParameterError) + message += "<br/>" + qsTr("or see") + " \'mapviewer --help\' " + + qsTr("how to pass plugin parameters.") + stackView.showMessage(title,message); + } + } + onShowMainMenu: mapPopupMenu.show(coordinate) + onShowMarkerMenu: markerPopupMenu.show(coordinate) + onShowRouteMenu: itemPopupMenu.show("Route",coordinate) + onShowPointMenu: itemPopupMenu.show("Point",coordinate) + onShowRouteList: stackView.showRouteListPage() + } + } } |