It is odd since i tried to correct your code and then it was working form me. But feel free to open a bugreport with some sample code that can be built and run to demonstrate the problem :-)
best, Paolo On Thu, 8 Sep 2016 10:04:27 +0530 Kishore J <kitts.mailingli...@gmail.com> wrote: > Thanks! I understand how that can be an issue. However, I now removed > the enclosing Component (Which really did not do anything). Still, if > i do not call addMapItem() it does not show on the map. > -- > Regards, > Kishore > > On Wed, Sep 7, 2016 at 7:45 PM, Paolo Angelelli > <paolo.angele...@qt.io> wrote: > > > I see i forgot to answer one question, about delegates and > > addMapItem. > > > > The problem in your case is that your delegate is incorrect. > > The delegate of a MapItemView must be a Map Item subclass, > > that means MapCircle MapRectangle MapPolygon etc. > > > > If you have it wrapped into a Component, when this component gets > > addMapItem'd to the map, it will be also skipped. > > > > try removing the Component wrapper, and you'll see it works. > > (and by the way in your example you miss a window, so the example > > doesn't work as is) > > > > best, > > Paolo > > > > On Tue, 6 Sep 2016 22:53:31 +0530 > > Kishore J <kitts.mailingli...@gmail.com> wrote: > > > > > Done. https://bugreports.qt.io/browse/QTBUG-55782 > > > > > > Given the limitation, I think my immediate alternative is to > > > create a MapItemView like component that is instantiated outside > > > and write code in the map that calls addMapItem and removeMapItem > > > on the map as and when the list is modified. To the drawing > > > board... > > > > > > Is the patch for the bug requiring to call addMapItem for each > > > item in the MapItemView delegate is due for the next release? > > > i.e. 5.8? > > > > > > How about the bug relating to the setting the center of the map? > > > Its easy to work around but I want to know if it's me doing > > > something wrong. -- > > > Regards, > > > Kishore > > > > > > On Tue, Sep 6, 2016 at 9:25 PM, Paolo Angelelli > > > <paolo.angele...@qt.io> wrote: > > > > > > > On Tue, 6 Sep 2016 19:04:34 +0530 > > > > Kishore J <kitts.mailingli...@gmail.com> wrote: > > > > > > > > > Hi > > > > > > > > > > I am inching forward with using QML maps in my C++ > > > > > application. Now i'm interested in dynamically adding > > > > > multiple MapItemView objects to a given map. > > > > > > > > > > > > > > > import QtQuick 2.5 > > > > > import QtLocation 5.6 > > > > > > > > > > Map { > > > > > id: map > > > > > objectName: "MyMap" > > > > > // zoomLevel: (maximumZoomLevel - minimumZoomLevel)/2 > > > > > zoomLevel: minimumZoomLevel > > > > > > > > > > plugin: Plugin { > > > > > name: "here" > > > > > PluginParameter {name: "here.app_id"; value: "xxxxx"} > > > > > PluginParameter {name: "here.token"; value: "xxxxx"} > > > > > } > > > > > // activeMapType: supportedMapTypes[3] > > > > > center { > > > > > latitude: 10 > > > > > longitude: 20 > > > > > } > > > > > > > > > > MapCircle { > > > > > id: staticCircle > > > > > center { > > > > > latitude: 5 > > > > > longitude: 10 > > > > > } > > > > > radius: 500000.0 > > > > > color: 'yellow' > > > > > border.width: 4 > > > > > border.color: 'yellow' > > > > > Component.onCompleted: { > > > > > console.debug("Loaded static MapCircle") > > > > > console.debug(center + ' radius: ' + radius) > > > > > } > > > > > Component.onDestruction: { > > > > > console.debug("Unloaded static MapCircle") > > > > > } > > > > > } > > > > > > > > > > MapItemView { > > > > > id: mapitemview > > > > > objectName: "MyMapItemView" > > > > > model: ListModel { > > > > > id: list > > > > > ListElement{lat: 10; lon: 20; rad: 800000} > > > > > ListElement{lat: 30; lon: 40; rad: 700000} > > > > > } > > > > > delegate: Component { > > > > > id: delegate > > > > > > > > > > MapCircle { > > > > > id: dynmapcircle > > > > > center { > > > > > latitude: lat; > > > > > longitude: lon; > > > > > } > > > > > radius: 500000.0 > > > > > color: 'black' > > > > > border.width: 4 > > > > > border.color: 'black' > > > > > Component.onCompleted: { > > > > > console.count("Loaded a MapCircle") > > > > > map.addMapItem(dynmapcircle) > > > > > } > > > > > } > > > > > } > > > > > > > > > > Component.onCompleted: { > > > > > console.debug("Loaded first MapItemView") > > > > > console.debug(model.count) > > > > > } > > > > > Component.onDestruction: { > > > > > console.debug("Unloaded first MapItemView") > > > > > } > > > > > } > > > > > > > > > > MapItemView { > > > > > id: mapitemview2 > > > > > objectName: "MyMapItemView2" > > > > > model: ListModel { > > > > > id: list2 > > > > > ListElement{lat: -10; lon: 20; rad: 800000} > > > > > ListElement{lat: -30; lon: 40; rad: 700000} > > > > > } > > > > > delegate: Component { > > > > > id: delegate2 > > > > > > > > > > MapCircle { > > > > > id: dynmapcircle2 > > > > > center { > > > > > latitude: lat; > > > > > longitude: lon; > > > > > } > > > > > radius: 500000.0 > > > > > color: 'blue' > > > > > border.width: 4 > > > > > border.color: 'blue' > > > > > Component.onCompleted: { > > > > > console.count("Loaded a MapCircle2") > > > > > map.addMapItem(dynmapcircle2) > > > > > } > > > > > } > > > > > } > > > > > > > > > > Component.onCompleted: { > > > > > console.debug("Loaded second MapItemView") > > > > > } > > > > > Component.onDestruction: { > > > > > console.debug("Unloaded second MapItemView") > > > > > } > > > > > } > > > > > > > > > > Component.onCompleted:{ > > > > > center.latitude = 10 > > > > > center.longitude = 20 > > > > > console.debug('Loaded map ' + map.center) > > > > > } > > > > > Component.onDestruction:{ > > > > > console.debug('Unloaded map') > > > > > } > > > > > } > > > > > > > > > > Further, i do not understand why i have to call the > > > > > map.addMapItem() function for each MapItem. I suspect that, > > > > > that is the source of my problem. I am currently able to > > > > > define a separate qml file containing the second MapItemView > > > > > which i instantiate in C++ and set the map as it's parent but > > > > > that does not work. > > > > > > > > > > Any help would be appreciated. > > > > > -- > > > > > Regards, > > > > > Kishore > > > > > > > > > > PS: I also seem to be facing another issue where the center > > > > > value specified in the map initialization does not work and I > > > > > have to set the center in the onCompleted() slot. Funnily, it > > > > > only considers the Latitude or Longitude value in the > > > > > initialization depending on which is first specified! > > > > > > > > Hi, for the first question, the answer is "you can't". > > > > This is a limitation of the current API, and something that > > > > might be worthwile extending. > > > > So feel free to send a feature request to jira. > > > > > > > > For the second question, please have a look if the (now merged) > > > > patch fixes your bug > > > > > > > > best, > > > > Paolo > > > > _______________________________________________ > > > > Interest mailing list > > > > Interest@qt-project.org > > > > http://lists.qt-project.org/mailman/listinfo/interest > > > > > > > > _______________________________________________ > > Interest mailing list > > Interest@qt-project.org > > http://lists.qt-project.org/mailman/listinfo/interest > > _______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest