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