2017-12-14 2 views
0

Ich bin neu in Qt und ich beginne eine neue GUI mit QML. Ich habe eine Karte und ich möchte eine Markierung anzeigen. Aber ich kann den Marker nicht mit MapQuickItem anzeigen.
In meinem Code unter dem Titel werden die Map und der MapCircle korrekt angezeigt, aber MapQuickItem wird nicht angezeigt.
Das Bild "marker.png" existiert und ich kann es anzeigen. Danke für Ihre Hilfe.
MapQuickItem wird nicht angezeigt

 
import QtQuick 2.0 
import QtLocation 5.6 
import QtPositioning 5.6 
import "../items" 
SimpleTile { 
    m_width : 300 
    m_height : 300 
    property double m_latitude; 
    property double m_longitude; 

    innerObject: Column { 
     id: colMap 
     anchors.fill: parent 

     Plugin { 
      id: mapPlugin 
      name: "esri" 
     } 

     Text { 
      id: title 
      width: colMap.width 
      height: 25 
      horizontalAlignment: TextInput.AlignHCenter 
      font.bold: true 
      font.pointSize: 15 
      text: "Position" 
     } 
     Map { 
      id: map 
      width: colMap.width 
      height: parent.height - title.height 
      plugin: mapPlugin 
      center: QtPositioning.coordinate(m_latitude, m_longitude) 
      zoomLevel: 14 

      MapQuickItem { 
       id: marker 
       anchorPoint.x: image.width/2 
       anchorPoint.y: image.height 

       coordinate { 
        latitude: m_latitude 
        longitude: m_longitude 
       } 
       sourceItem: Image { id: image; source: "qrc:/images/marker.png" } 
      } 
      MapCircle { 
       radius: 1000 
       color: "red" 
       opacity: 0.4 
       center { 
        latitude: m_latitude 
        longitude: m_longitude 
       } 
      } 
     } 
    } 
} 
+1

Ok, wenn ich den Code testen möchte, was soll ich mit 'SimpleTile' usw. machen? Bitte geben Sie mvce an, verwenden Sie einen Bildplatzhalter, zum Beispiel [this] (https://platimg.com), damit wir den Code ausführen und testen können. – folibis

+0

Sorry, im Grunde SimpleTile ist ein 'Rectangle' (verwenden, um einheitliche l & f). Alle diese Rectangle sind in einem 'Flow' – Fabrice

+0

hinzugefügt Ich denke, ich habe den Fehler gefunden, aber ich bin nicht in der Lage, für den Moment zu testen. Ich habe geändert:

 MapQuickItem { id: marker anchorPoint.x: image.width/2 anchorPoint.y: image.height coordinate : QtPositioning.coordinate(m_latitude, m_longitude) sourceItem: Image { id: image; source: "qrc:/images/marker.png" } }
Fabrice

Antwort

0

Ok, löse ich mein Problem durch

Ändern
 
... 
MapQuickItem { 
... 
       coordinate { 
        latitude: m_latitude 
        longitude: m_longitude 
       } 
... 

zu

 
... 
MapQuickItem { 
... 
       coordinate: QtPositioning.coordinate(m_latitude, m_longitude) 
... 

Vielen Dank für Ihre Antworten.