Solved Problemi con Google Maps e Qml
-
Buongiorno a tutti,
onestamente non so più dove sbattere la testa, mi sto portando dietro questo problema da mesi ormai e ora ho bisogno di trovare una soluzione o quanto meno un'alternativa.
Ho bisogno di avere la mappa satellitare nel mio programma ma:- Il programma è stato compilato con MinGw quindi non posso usare QWebEngine, ed è impossibile in questo stadio avanzato passare a MSVC.
- Ho provato ad utilizzare il QWebKit con Windows 10 e Qt 5.10 ma non funziona (Qui il topic di riferimento).
Detto ciò l'unica alternativa fattibile sembra sia il QML con il quale sono riuscito, tramite una libreria inserita seguendo questo topic, ad avere una mappa satellitare di google maps funzionante, ma solo in debug mode. Come spiego anche in quest'altro topic infatti, in release mode la mappa non viene mostrata. il che mi porta a pensare che:
- è un problema di ApiKey che non riesco a settare evidentemente.
- è un problema della libreria esterna(non so se possa essere possibile).
Questo è il codice in QML:
import QtQuick 2.7 import QtQuick.Controls 1.4 import QtQuick.Window 2.0 import QtLocation 5.6 import QtPositioning 5.6 Rectangle { id: mainWindow width: 512 height: 512 visible: true ListModel{ id:dummyModel ListElement { Latitude: 47.212047 Longitude: -1.551647 Label: "something" Orientation: 0 Color:"transparent" } } Plugin { id: googleMaps name: "googlemaps" // "mapboxgl", "esri", ... // specify plugin parameters if necessary PluginParameter { name:"googlemaps.maps.apikey" value:"*******My Api Key*********" } } Map { id: myMap anchors.fill: parent plugin: googleMaps activeMapType: supportedMapTypes[1] center: QtPositioning.coordinate(59.91, 10.75) // Oslo zoomLevel: 14 MapItemView{ id:dynamicMapObject model: dummyModel delegate: MapQuickItem { coordinate: QtPositioning.coordinate(Latitude,Longitude) sourceItem: Text{ width: 100 height: 50 text: model.Label rotation: model.Orientation opacity: 0.6 color: model.Color } } } MapPolyline { line.width: 3 line.color: 'green' path: [ { latitude: 59.92, longitude: 10.77 }, { latitude: 59.96, longitude: 10.78 }, { latitude: 59.99, longitude: 10.76 }, { latitude: 59.95, longitude: 10.74 } ] } MapCircle { //a static item (fixed real dimension) always at 100m east of the map center id:prova center: myMap.center.atDistanceAndAzimuth(100,90) opacity:0.8 color:"red" radius:30 } } Button{ id:buttonMap text:"Click to add name" onClicked: { if(buttonMap.text == "Click to add name") { buttonMap.text = "Click to cancel name" myMap.activeMapType = myMap.supportedMapTypes[3] } else { buttonMap.text = "Click to add name" myMap.activeMapType = myMap.supportedMapTypes[1] } } } GroupBox{ title:"map types" ComboBox{ model:myMap.supportedMapTypes textRole:"description" onCurrentIndexChanged: myMap.activeMapType = myMap.supportedMapTypes[currentIndex] } } }
Qualcuno ha una soluzione o qualche alternativa per ciò?
Grazie a tutti in anticipo.
-
non è un problema di apikey, è un problema di release. La soluzione la trovate qui https://forum.qt.io/topic/90126/problem-with-qml-and-google-maps-plugin/3