<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title></title></head><body><p style="margin: 0px;"><span style="font-family:arial,helvetica,sans-serif;font-size:10pt;color:#000000;text-decoration:none">Hello Cui,</span></p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;"><span style="font-family:arial,helvetica,sans-serif;font-size:10pt;color:#000000;text-decoration:none"><span style="font-family: 等线;">> I quickly hacked code as attached patch, it does can show all placemarks as I expected.</span></span></p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;"><span style="font-family:arial,helvetica,sans-serif;font-size:10pt;color:#000000;text-decoration:none"><span style="font-family: 等线;">Ok, that doesn't look like it's ready for inclusion with the official repo yet, but it is a good start ;-)</span></span></p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px 5px 0px 0px;">> However, to make it a valid enhancement, I have below questions:</p>
<p style="margin: 0px 5px 0px 0px;">> - 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.</p>
<p style="margin: 0px 5px 0px 0px;"> </p>
<p style="margin: 0px 5px 0px 0px;">Right. Sorry I had been in "hibernation mode" regarding Marble development until recently so I don't have a good answer for that yet :-)</p>
<p style="margin: 0px 5px 0px 0px;"> </p>
<p style="margin: 0px 5px 0px 0px;">> - Looks like PlacemarkLayout binds to PlacemarkLayer. I guess LayerInterface is right way to change for new API?</p>
<p style="margin: 0px 5px 0px 0px;"> </p>
<p style="margin: 0px 5px 0px 0px;">LayerInterface is the common interface for all the rendering layers inside Marble and shouldn't be dilluted by such settings.</p>
<p style="margin: 0px 5px 0px 0px;"> </p>
<p style="margin: 0px 5px 0px 0px;">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. :-)</p>
<p style="margin: 0px 5px 0px 0px;"> </p>
<p style="margin: 0px 5px 0px 0px;">> - For plugin, how to to create a new layer and customize layer’s behavior via API?</p>
<p style="margin: 0px 5px 0px 0px;"> </p>
<p style="margin: 0px 5px 0px 0px;">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. </p>
<p style="margin: 0px 5px 0px 0px;"> </p>
<p style="font-weight: 400; margin: 0px 5px 0px 0px;">> 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?</p>
<p style="font-weight: 400; margin: 0px 5px 0px 0px;">> Is there sort of SIGNAL to connect?</p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;">Most likely there is such a signal but I don't know offhand, sorry (but I'm confident you'll figure it out quickly)</p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;">Best regards</p>
<p style="margin: 0px;">Torsten</p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;"><span style="font-family:arial,helvetica,sans-serif;font-size:10pt;color:#000000;text-decoration:none"> </span></p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;">-----Original-Nachricht-----</p>
<p style="margin: 0px;">Betreff: RE: How to force to show all placemarks even when overlapp each other</p>
<p style="margin: 0px;">Datum: 2023-03-26T07:22:19+0200</p>
<p style="margin: 0px;">Von: "王璀 WANG Cui" <iucgnaw@msn.com></p>
<p style="margin: 0px;">An: "Torsten Rahn" <tackat@t-online.de>, "Mailinglist, Marble-Devel" <marble-devel@kde.org></p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;"> </p>
<div style="position: relative; color: #000000; font: 12px Arial,Helvetica,sans-serif;">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-family: 等线;">Hi Torsten,</span></p>
<p class="MsoNormal"><span style="font-family: 等线;">Thanks for the tip.</span></p>
<p class="MsoNormal"><span style="font-family: 等线;">I quickly hacked code as attached patch, it does can show all placemarks as I expected.</span></p>
<p class="MsoNormal"><span style="font-family: 等线;"> </span></p>
<p class="MsoNormal"><span style="font-family: 等线;"> </span></p>
<p class="MsoNormal"><span style="font-family: 等线;">Hope my comment is reasonable.</span></p>
<p class="MsoNormal"><span style="font-family: 等线;">Thanks,</span></p>
<p class="MsoNormal"><span style="font-family: 等线;">WANG Cui</span></p>
<p class="MsoNormal"><span style="font-family: 等线;"> </span></p>
<div>
<div style="border: none; border-top: solid #E1E1E1 1.0pt; padding: 3.0pt 0in 0in 0in;">
<p class="MsoNormal"><strong>From:</strong> Torsten Rahn <tackat@t-online.de> <br /><strong>Sent:</strong> Sunday, March 26, 2023 2:29 AM<br /><strong>To:</strong> ?? WANG Cui <iucgnaw@msn.com>; Mailinglist, Marble-Devel <marble-devel@kde.org><br /><strong>Subject:</strong> AW: How to force to show all placemarks even when overlapp each other</p>
</div>
</div>
<p class="MsoNormal"> </p>
<p style="margin: 0px;"><span style="font-size: 10.0pt; font-family: " arial",sans-serif;color: black;">Hello,</span></p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;"><span style="font-size: 10.0pt; font-family: " arial",sans-serif;color: black;">yes the default behavior is that Marble will only populate the map view with "the most prominent" placemarks up to a certain density. </span></p>
<p style="margin: 0px;"><span style="font-size: 10.0pt; font-family: " arial",sans-serif;color: black;">At the same time it also takes care not to have the labels overlapped (by testing out four default label positions).</span></p>
<p style="margin: 0px;"><span style="font-size: 10.0pt; font-family: " arial",sans-serif;color: black;">The current layout algorithm is optimized for speed.</span></p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;"><span style="font-size: 10.0pt; font-family: " arial",sans-serif;color: black;">The density check is made inside placemarksOnScreenLimit and there is currently no API that would allow to change this default behavior.</span></p>
<p style="margin: 0px;"><span style="font-size: 10.0pt; font-family: " arial",sans-serif;color: black;">Feel free to create a patch that would allow to change the limit away from the default via a dedicated API. </span></p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;"><span style="font-size: 10.0pt; font-family: " arial",sans-serif;color: black;">Best regards</span></p>
<p style="margin: 0px;"><span style="font-size: 10.0pt; font-family: " arial",sans-serif;color: black;">Torsten</span></p>
<p style="margin: 0px;"><span style="font-size: 10.0pt; font-family: " arial",sans-serif;color: black;"> </span></p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;">-----Original-Nachricht-----</p>
<p style="margin: 0px;">Betreff: How to force to show all placemarks even when overlapp each other</p>
<p style="margin: 0px;">Datum: 2023-03-25T15:26:50+0100</p>
<p style="margin: 0px;">Von: "?? WANG Cui" <<a href="mailto:iucgnaw@msn.com">iucgnaw@msn.com</a>></p>
<p style="margin: 0px;">An: "Mailinglist, Marble-Devel" <<a href="mailto:marble-devel@kde.org">marble-devel@kde.org</a>></p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;"> </p>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto;"><span style="font-size: 9.0pt; font-family: " arial",sans-serif;color: black;">Hi,</span></p>
<p class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto;"><span style="font-size: 9.0pt; font-family: " arial",sans-serif;color: black;">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.</span></p>
<p class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto;"><span style="font-size: 9.0pt; font-family: " arial",sans-serif;color: black;">Is there a way to force all placemarks show even when overlap each other?</span></p>
<p class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto;"><span style="font-size: 9.0pt; font-family: " arial",sans-serif;color: black;">Thanks,</span></p>
<p class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto;"><span style="font-size: 9.0pt; font-family: " arial",sans-serif;color: black;">WANG Cui</span></p>
</div>
</div>
<p style="margin: 0px;"> </p>
<p class="MsoNormal"> </p>
</div>
</div></body></html>