2017-07-24 3 views
0

Ich versuche eine interaktive Kartenanwendung zu erstellen, mit der ich Kartenelemente hinzufügen und ändern kann. Ich kann ein neues Map-Element hinzufügen, aber ich habe immer noch Probleme, das Modell zu ändern. Wenn ich mehr als einen Artikel habe, löscht die remove Funktion immer den ersten Artikel und nicht den aktuellen Artikel. Ich möchte das Modell nicht nur die Ansicht des Modells ändern, aber wie kann ich die currentIndex des Modells bekommen?Modellindex von MapItemView abrufen

ListModel { 
    id: mapModel 
} 

Map { 
    id: map 
    //... 
    MapItemView { 
     model: mapModel 
     delegate: MapCircle { 
      radius: 80000 
      color: 'blue' 
      center { 
       latitude: lat 
       longitude: longi 
      } 
      MouseArea { 
       onClicked: { 
        mapModel.remove(model.index) 
       } 
      } 
     } 
    } 
    MouseArea { 
     anchors.fill: parent 
     onClicked: { 
      var coord = map.toCoordinate(Qt.point(mouse.x,mouse.y)) 
      mapModel.append({lat : coord.latitude, longi: coord.longitude}); 
     } 
    } 
} 

Antwort

1

die Antwort selbst gefunden. Verwenden Sie einfach mapModel.remove(index) anstelle von mapModel.remove(model.index)