AW: How to force to show all placemarks even when overlapp each other
Torsten Rahn
tackat at t-online.de
Sun Mar 26 19:34:36 BST 2023
Hello Cui,
> I quickly hacked code as attached patch, it does can show all placemarks
as I expected.
Ok, that doesn't look like it's ready for inclusion with the official repo
yet, but it is a good start ;-)
> However, to make it a valid enhancement, I have below questions:
> - Where to add new API? The hack code impact all placemarks, I believe
should limit it to requestor (i.e. specific plugin), but keep old behavior
for others.
Right. Sorry I had been in "hibernation mode" regarding Marble development
until recently so I don't have a good answer for that yet :-)
> - Looks like PlacemarkLayout binds to PlacemarkLayer. I guess
LayerInterface is right way to change for new API?
LayerInterface is the common interface for all the rendering layers inside
Marble and shouldn't be dilluted by such settings.
I guess the better approach would be to provide some sort of setting/option
in Marble-core (i.e. not in the plugins) where the behavior is steered.
This setting would then be taken into account by the plugin. MarbleModel
might be this place but maybe there is a better one. :-)
> - For plugin, how to to create a new layer and customize layer’s behavior
via API?
As said above probably not directly in the plugin and its API (as they
can't be taken for granted and necessarily existant) but rather in Marble's
core.
> Just want to know, when click to check/uncheck a node
(Document/Folder/Placemark) in the Files panel, how can my program get
notified and react?
> Is there sort of SIGNAL to connect?
Most likely there is such a signal but I don't know offhand, sorry (but I'm
confident you'll figure it out quickly)
Best regards
Torsten
-----Original-Nachricht-----
Betreff: RE: How to force to show all placemarks even when overlapp each
other
Datum: 2023-03-26T07:22:19+0200
Von: "王璀 WANG Cui" <iucgnaw at msn.com>
An: "Torsten Rahn" <tackat at t-online.de>, "Mailinglist, Marble-Devel"
<marble-devel at kde.org>
Hi Torsten,
Thanks for the tip.
I quickly hacked code as attached patch, it does can show all placemarks as
I expected.
Hope my comment is reasonable.
Thanks,
WANG Cui
From: Torsten Rahn <tackat at t-online.de>
Sent: Sunday, March 26, 2023 2:29 AM
To: ?? WANG Cui <iucgnaw at msn.com>; Mailinglist, Marble-Devel
<marble-devel at kde.org>
Subject: AW: How to force to show all placemarks even when overlapp each
other
Hello,
yes the default behavior is that Marble will only populate the map view
with "the most prominent" placemarks up to a certain density.
At the same time it also takes care not to have the labels overlapped (by
testing out four default label positions).
The current layout algorithm is optimized for speed.
The density check is made inside placemarksOnScreenLimit and there is
currently no API that would allow to change this default behavior.
Feel free to create a patch that would allow to change the limit away from
the default via a dedicated API.
Best regards
Torsten
-----Original-Nachricht-----
Betreff: How to force to show all placemarks even when overlapp each other
Datum: 2023-03-25T15:26:50+0100
Von: "?? WANG Cui" <iucgnaw at msn.com <mailto:iucgnaw at msn.com> >
An: "Mailinglist, Marble-Devel" <marble-devel at kde.org
<mailto:marble-devel at kde.org> >
Hi,
Placemarks all show on globe when separate from each other without
overlapping. However, when zoom out globe, placemarks get overlap and only
1 placemark shows, other placemarks hide.
Is there a way to force all placemarks show even when overlap each other?
Thanks,
WANG Cui
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/marble-devel/attachments/20230326/e2ac40eb/attachment.htm>
More information about the Marble-devel
mailing list