#1 Ein- und ausblenden von Orten in der Landkarte von Wolfgang 09.11.2010 21:48

avatar


Hallo Florian,
69magic hat in meinem Forum nach einem Ein- und Ausblenden von "Besondere Orte" und "Wohnorte von Forum Mitgliedern" in der Landkarte gefragt.

Ich könnte mir vorstellen, das man die Icons als Auslösung und ein ähnliches Script wie das Aufklappmenü oder den Spoiler verwendet.

<span onClick="parent.location='javascript:clip(2)';"><img src="http://labs.google.com/ridefinder/images/mm_20_yellow.png"> Besondere Orte</span><br>
<span onClick="parent.location='javascript:clip(1)';"><img src="http://labs.google.com/ridefinder/images/mm_20_red.png" Border=0> Wohnorte von Forum Mitgliedern</span><br>

Man könnte dann die Icons in dem Landkarten-Script über eine If-Abfrage ein- und ausblenden.

if (document.getElementById("span_1").....
icon.image = "http://labs.google.com/ridefinder/images/mm_20_red.png";
icon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";

else ........
icon.iconSize = new GSize(12, 20);
icon.shadowSize = new GSize(22, 20);
icon.iconAnchor = new GPoint(6, 20);
icon.infoWindowAnchor = new GPoint(5, 1);

var orticon = new GIcon();

if (document.getElementById("span_2").....
orticon.image = "http://labs.google.com/ridefinder/images/mm_20_yellow.png";
orticon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";

else.....



Kannst Du hier weiterhelfen?
Danke und viele Grüße

Wolfgang

#2 RE: Ein- und ausblenden von Orten in der Landkarte von florian-zier 14.11.2010 15:11

avatar

Hallo Wolfgang,
ich glaube ich habe jetzt etwas, das so funktioniert wie du es suchst.

Füge folgendes Javascript ein in das Template-Element "Landkarte" direkt nach "{{endbody.start}}":

1
2
3
4
5
6
7
8
9
10
11
12
 
<script language="javascript" type="text/javascript">
function hideLocs(source) {
var i=0;
while (document.getElementById('mtgt_unnamed_'+i) != null) {
var elem = document.getElementById('mtgt_unnamed_'+i);
if (elem.src == source) {
elem.style.display = (elem.style.display!='none')? 'none' : '';
}
i++;
}
}
</script>
 



Ändere nun noch weiter oben im Quellcode die Legende:

1
2
 
<img src="http://labs.google.com/ridefinder/images/mm_20_yellow.png"> {[map_location_special]}<br>
<img src="http://labs.google.com/ridefinder/images/mm_20_red.png"> {[map_location_members]}<br>
 


... zu folgendem:

1
2
 
<img src="http://labs.google.com/ridefinder/images/mm_20_yellow.png"> <a href="javascript:hideLocs('http://labs.google.com/ridefinder/images/mm_20_yellow.png');" title="{[map_location_special]} ein-/ausblenden">{[map_location_special]}</a><br>
<img src="http://labs.google.com/ridefinder/images/mm_20_red.png"> <a href="javascript:hideLocs('http://labs.google.com/ridefinder/images/mm_20_red.png');" title="{[map_location_members]} ein-/ausblenden">{[map_location_members]}</a><br>
 




Klickt ein User nun auf den entsprechenden Eintrag in der Legende, werden entsprechende Orte ein-/ausgeblendet.
Sollten sich einmal die Grafiken der Marker verändern oder neue hinzukommen, so muss nur die Funktion "hideLocs(...);" entsprechend aufgerufen werden.

Beispiel:
Du möchtest die gelbenMarker ausblenden.
Die Bildadresse der gelben Marker muss nun der Funktion übergeben werden.
Also lautet der Funktionsaufruf:

1
 
hideLocs('http://labs.google.com/ridefinder/images/mm_20_yellow.png');
 


Dementsprechend werden alle gelben Markierungssymbole auf einen Schlag ausgeblendet.

So kannst du auch einfach den Link der die Funktion aufruft ändern, falls sich die Marker-Adressen verändert haben.

#3 RE: Ein- und ausblenden von Orten in der Landkarte von Wolfgang 15.11.2010 23:10

avatar

Hallo Forian,
besten Dank für das Script, es funktioniert in meinem Forum tadellos!

Bis dann
Wolfgang

Xobor Forum Software von Xobor
Einfach ein eigenes Forum erstellen
Datenschutz