Bitte geben Sie einen Grund für die Verwarnung an
Der Grund erscheint unter dem Beitrag.Bei einer weiteren Verwarnung wird das Mitglied automatisch gesperrt.
Weitere Farbe für Landkarte
#16 RE: Weitere Farbe für Landkarte
So, nach dem Update Update: Bilder in Beitrag einbinden, Google Maps wird diese Anleitung nun leider nichtmehr funktionieren. Allerdings habe ich das Grundgerüst dieser Funktion von Olaf entnommen und in neuer Version vervollstädigt
Es funktioniert weiterhin wie gewohnt so, nur hat sich der Code etwas dabei verändert.
Template-Element Landkarte öffnen, und folgendes dazu eintragen:
{{green.start}}https://img.homepagemodules.de/ds/static/...reen_marker.png{{green.end}}
{{red.start}}https://img.homepagemodules.de/ds/static/.../red_marker.png{{red.end}}
{{shadow.start}}https://img.homepagemodules.de/ds/static/...rker_shadow.png{{shadow.end}}
{{grey.start}}https://files.homepagemodules.de/b197007/a_497_70484668.png{{grey.end}}
{{yellow.start}}https://files.homepagemodules.de/b197007/a_500_657248bb.png{{yellow.end}}
{{black.start}}https://files.homepagemodules.de/b197007/a_501_9a9dd8a0.png{{black.end}}
{{blue.start}}https://files.homepagemodules.de/b197007/a_502_df36fd4b.png{{blue.end}}
<table cellpadding=4 cellspacing=0 width=100%><tr><td class=ntit> Landkarte</td></tr>
<td class=nnor>
<div id="map" style="width: 100%; height: 650px"></div>
<br>
<img src="{{green}}"> <a href="javascript:void(0)" onclick="toggleOverlays(ortmarkers);" title="toggle">Besondere Orte</a> (zum Ein- und Ausblenden anklicken)<br>
<img src="{{red}}"> <a href="javascript:void(0)" onclick="toggleOverlays(usermarkers);" title="toggle">Wohnorte von Forum Mitgliedern</a> (zum Ein- und Ausblenden anklicken)<br>
<img src="{{grey}}"> <a href="javascript:void(0)" onclick="toggleOverlays(adminmarkers);" title="toggle">Admin</a> (zum Ein- und Ausblenden anklicken)<br>
<img src="{{yellow}}"> <a href="javascript:void(0)" onclick="toggleOverlays(modmarkers);" title="toggle">Mod</a> (zum Ein- und Ausblenden anklicken)<br>
<img src="{{black}}"> <a href="javascript:void(0)" onclick="toggleOverlays(gastmarkers);" title="toggle">Gast</a> (zum Ein- und Ausblenden anklicken)<br>
<img src="{{blue}}"> <a href="javascript:void(0)" onclick="toggleOverlays(neuermarkers);" title="toggle">Neuer</a> (zum Ein- und Ausblenden anklicken)<br>
<small>Wenn Sie sich hier selbst eintragen wollen müssen Sie im Forum angemeldet sein und die Daten in Ihrem Profil (Einstellungen) angeben.</small>
</td></tr></table>
Im JavaScript müssen noch weitere Variablen eingetragen werden:
var marker_pos;
var ortmarkers = new Array();
var usermarkers = new Array();
var adminmarkers = new Array();
var modmarkers = new Array();
var gastmarkers = new Array();
var neuermarkers = new Array();
var ortinfos = new Array();
var userinfos = new Array();
var infowindow;
In der Funktion xCreateMapElement muss noch folgendes verändert werden:
marker = new google.maps.Marker({
position: marker_pos,
title:el[2],
content : infoText
});
var ballon = el[2].indexOf(':');
var type = el[2].substring(0,ballon);
var name = el[2].substring(ballon+1,el[2].length);
if(what=="user"){usermarkers.push(marker);}
else if(type=="admin"){adminmarkers.push(marker);marker.setIcon("{{grey}}");}
else if(type=="mod"){modmarkers.push(marker);marker.setIcon("{{yellow}}");}
else if(type=="gast"){gastmarkers.push(marker);marker.setIcon("{{black}}");}
else if(type=="neuer"){neuermarkers.push(marker);marker.setIcon("{{blue}}");}
else{
ortmarkers.push(marker);
marker.setIcon("{{green}}");
}
google.maps.event.addListener(marker, 'click', function() {
infowindow.setContent(this.content);
infowindow.open(map,this);
Zum schluss noch ganz unten:
center: latlng,
mapTypeId: google.maps.MapTypeId.HYBRID
};
mapdiv = document.getElementById("map");
map = new google.maps.Map(mapdiv,myOptions);
for (var i = 0; i < users.length; i++) {
xCreateMapElement(users[i],"user");
}
for (var j = 0; j < orte.length; j++) {
xCreateMapElement(orte[j],"ort");
}
for (var x = 0; x < orte.length; x++) {
xCreateMapElement(orte[x],"admin");
}
for (var y = 0; y < orte.length; y++) {
xCreateMapElement(orte[y],"mod");
}
for (var z = 0; z < orte.length; z++) {
xCreateMapElement(orte[z],"gast");
}
for (var a = 0; a < orte.length; a++) {
xCreateMapElement(orte[a],"neuer");
}
infowindow = new google.maps.InfoWindow();
}
Die Teile wurden mehr verstreut, und auch das eintragen im Script von neuen Gruppen ist schwieriger geworden.
Weil die Markers von Google kleiner sind, habe ich noch ein paar Markers erstellt:
Mit http://pixlr.com/editor/ oder auf dem Computer mit einem Bildbearbeitungsprogramm kann man ganz leicht mit dem Füllwerkzeug die Farbe des markers ändern. Falls das jemand nicht schafft, einfach mit der Gewünschten Farben bei mir melden
es wäre von vorteil wenn HPM dies übernohmen würde, dann würden schwierigkeiten nicht auftauchen, und außerdem ein erweiterte Feature für die Landkarte
Viele Grüße,
Damian
Kein Support per PN (Private Nachrichten) - Tagger mich lieber (@Damian)
Damians Testforum
#17 RE: Weitere Farbe für Landkarte
Unser lieber Damian ist immer so fleißig! Sehr nett!
Ho'oponopono
Hinweis: Ich verwende in allen meinen Foren ausschließlich das unveränderte Standard-Template.
Meine Foren: Board-Nr. 17085, 588813, 569659, 608167, 555628
#18 RE: Weitere Farbe für Landkarte
Joa, ich habe Freude daran, mich an etwas Neues heranzuwagen und wenn es gelingt, macht es nochmal so viel Freude
Viele Grüße,
Damian
Kein Support per PN (Private Nachrichten) - Tagger mich lieber (@Damian)
Damians Testforum
#19 RE: Weitere Farbe für Landkarte
Hallo Damian,
da quäl ich mich damit rum und du hattest schon eine Variante hier stehen ... habe aber aus dieser, deiner Variante noch einen Fehler bei mir gefunden. Danke.
Viele Grüße
Achim
P.S.
ich Vollpfosten, alles klar - Frage hat sich erledigt
Hallo Achim,
Das prinzip habe ich weiterhin von Olaf entnommen und sollte eigentlich auch funktionieren. Das Problem ist in der neuen Landkarte, das es viele stellen gibt wo man den Namen umändern muss. Eventuell würde man die Namen in eine Variable packen und dann nur noch dort umändern müssen. In meinem Script das ich mal gebastelt habe muss man an vielen stellen den Namen umändern damit auch die Ausblende- & Einblende funktion geht. Ich merke gerade auch das dass nicht einfach bzw. an vielen stellen der Name umgeändert werden muss, was ich gleich mal versuchen werde zu Ändern. Weil du an jeder meiner Veränderten stelle einen neuen Namen vergeben müsstest, und das wäre Blödsinn wenn es mit Variablen zu lösen gehe... Naja, das habe ich dann wohl nicht ganz bedacht, man sieht im Augen eines "Experten" wie einfach dies zu verstehen ist, aber wenn man mit JS eher weniger arbeitet tut man sich schwer was ich verstehe.
Viele Grüße,
Damian
Kein Support per PN (Private Nachrichten) - Tagger mich lieber (@Damian)
Damians Testforum
Eins fällt mir dazu noch auf:
Für die eigenen Orte, wie im Beispiel bei Admin, Mod etc. müsste noch eine eigene html Darstellung rein, so daß in der ersten Zeile nur noch der "Name" steht, aber nicht mehr die Anweisung zu welcher Gruppe es gehört.
Also anstatt z. BSp.
Admin: xyz
nur noch xyz
In der alten Variante war das glaube ich durch var html ..... geregelt - jetzt ist da allerdings eine else Verknüpfung drin.
Muss ich mir mal ansehen
Viele Grüße
Achim
Könnte schon sein, war aber eigentlich nicht von Olaf so sondern schon so im Template von Xobor. Ich glaube du meinst damit, in der Sprechblase das da der Name steht mit dem Doppelpunkt. Könnte man auch eigentlich ausblenden...
Viele Grüße,
Damian
Kein Support per PN (Private Nachrichten) - Tagger mich lieber (@Damian)
Damians Testforum
Nicht das best of nun, aber eine lösung die eigentlich funktionieren sollte:
Am anfang wo die vielen anderen Variablen sind, deklariere ich noch
var myOptions;
var map;
var mapdiv;
var name;
var type;
var ballon;
Grün = Einfügen
Rot = Entfernen
Weiter unten wo die typen der Ballons bestimmt werden mache ich noch folgendes:
content : infoText
});
var ballon = el[2].indexOf(':');
var type = el[2].substring(0,ballon);
var name = el[2].substring(ballon+1,el[2].length);
if(what=="user"){usermarkers.push(marker);}
else if(type=="admin"){adminmarkers.push(marker);marker.setIcon("{{grey}}");}
else if(type=="mod"){modmarkers.push(marker);marker.setIcon("{{yellow}}");}
else if(type=="gast"){gastmarkers.push(marker);marker.setIcon("{{black}}");}
else if(type=="neuer"){neuermarkers.push(marker);marker.setIcon("{{blue}}");}
else{
ortmarkers.push(marker);
Und
function getMapInfoText(data){
name = data[2].substring(ballon+1,data[2].length);
var html = "";
if(data[8]){
html = "<div style='width:280px;height:120px;color:#000000'>";
if(data[3].length>3) html += '<img src="'+data[3]+'" align=right width=65 height=75>';
if(data[8].length>2) html += '<a href="' + data[8] + '">';
if(data[5].length>2) html += '<span style="color:' + data[5] + '">';
html += '<b>' + data[2] + '</b>';
if(data[5].length>2) html += '</span>';
if(data[8].length>2) html += '</a>';
html += "<br>" + data[4] + "<br>";
html += 'Beiträge ' + data[6] + '<br>Registriert am ' + data[7];
html += "</div>";
}
else{html = "<div style='width:280px;height:120px;overflow:auto;color:#000000'><b>" + data[2]name + "</b><br>" + data[3]+ "</div>"; }
return html;
}
Sollte dann der Gruppenname vor den Duppelpunkten weg sein. Etwas umständlich in der neuen Landkarte, aber naja...
Viele Grüße,
Damian
Kein Support per PN (Private Nachrichten) - Tagger mich lieber (@Damian)
Damians Testforum
Da habe ich einen Fehler gemacht. Sorry.
Der erste Punkt die Variablen am anfang des Scriptes einzutragen ist richtig, nur der Zweite nicht. Es sollte so lauten:
Rot = Entfernen
Grün = Einfügen
[...]
content : infoText
});
ballon = el[2].indexOf(':');
type = el[2].substring(0,ballon);
if(what=="user"){usermarkers.push(marker);}
else if(type=="admin"){adminmarkers.push(marker);marker.setIcon("{{grey}}");}
else if(type=="mod"){modmarkers.push(marker);marker.setIcon("{{yellow}}");}
else if(type=="gast"){gastmarkers.push(marker);marker.setIcon("{{black}}");}
else if(type=="neuer"){neuermarkers.push(marker);marker.setIcon("{{blue}}");}
else{
ortmarkers.push(marker);
[...]
Und
[...]
function getMapInfoText(data){
ballon = data[2].indexOf(':');
type = data[2].substring(0,ballon);
name = data[2].substring(ballon+1,data[2].length);
var html = "";
if(data[8]){
html = "<div style='width:280px;height:120px;color:#000000'>";
[...]
Jetzt sollte alles funktionieren, (Zumindest hoffe ich das) Und bedanke mich für die Fehlersuche und Verbesserungswünsche, und überhaupt die Möglichkeit diese Karte zu Verändern/Verbessern
Viele Grüße,
Damian
Kein Support per PN (Private Nachrichten) - Tagger mich lieber (@Damian)
Damians Testforum
#27 RE: Weitere Farbe für Landkarte
das ist noch nicht richtig Damian -
korrekt wäre den oberen Teil völlig unverändert zu lassen ! Denn da werden die Variablen für die Standardpunkte bestimmt.
also so sieht das jetzt bei mir aus und die Anzeige funktioniert:
function xCreateMapElement(el,what){
marker_pos = new google.maps.LatLng(el[1],el[0]);
infoText = getMapInfoText(el);
marker = new google.maps.Marker({
position: marker_pos,
title:el[2],
content : infoText
});
var ballon = el[2].indexOf(':');
var type = el[2].substring(0,ballon);
var name = el[2].substring(ballon+1,el[2].length);
if(what=="user"){usermarkers.push(marker);marker.setIcon("{{grey}}");}
else if(type=="admin"){adminmarkers.push(marker);marker.setIcon("{{red}}");}
else if(type=="kawa"){modmarkers.push(marker);marker.setIcon("{{green}}");}
else if(type=="treffen"){gastmarkers.push(marker);marker.setIcon("{{black}}");}
else if(type=="yamaha"){neuermarkers.push(marker);marker.setIcon("{{blue}}");}
else{
ortmarkers.push(marker);
marker.setIcon("{{yellow}}");
}
google.maps.event.addListener(marker, 'click', function() {
infowindow.setContent(this.content);
infowindow.open(map,this);
});
marker.setMap(map);
}
function getMapInfoText(data){
var ballon = data[2].indexOf(':');
var type = data[2].substring(0,ballon);
var name = data[2].substring(ballon+1,data[2].length);
var html = "";
if(data[8]){
html = "<div style='width:320px;height:140px;color:#000000'>";
if(data[3].length>3) html += '<img src="'+data[3]+'" align=right width=65 height=75>';
if(data[8].length>2) html += '<a href="' + data[8] + '">';
if(data[5].length>2) html += '<span style="color:' + data[5] + '">';
html += '<b>' + data[2] + '</b>';
if(data[5].length>2) html += '</span>';
if(data[8].length>2) html += '</a>';
html += "<br>" + data[4] + "<br>";
html += '{[map_member_messages]} ' + data[6] + '<br>{[map_member_signup_date]} ' + data[7];
html += "<br>" + "<b>" + data[10] + "</b>";
html += "</div>";
}
else{html = "<div style='width:320px;height:140px;overflow:auto;color:#000000'><b>" + name + "</b><br>" + data[3]+ "</div>"; }
return html;
}
alles grüne sollte so bleiben
Grüße
Achim
-------------------------------------------------------------------
Du hast natürlich recht, anscheinend funktionieren zwar Varianten nun!?! Gestern und heute gab es bei dieser Version allerdings fehler. Eine von mir definierte Sprechblase war immer richtig, aber die nächsten wurden dann falsch ausgegeben, dann stand bei einer mal: neuer: subov
Nur ohne das rote. Das am anfang gesetze Wort vor dem Doppelpunkt (Ich nenne es immer "Marker") wurde abgekürzt. Auch wurde der eigentliche Titel bei einer auch ein paar Buchstaben geklaut. Wundert mich das es nun plötzlich geht, vielleicht bräuchte auch nur die Landkarte eine Aktualisierung durch den Speicher Button bei Extras Landkarte.
Damit nehme ich meine aussage zurück, beide Versionen sollten gehen...
Viele Grüße,
Damian
Kein Support per PN (Private Nachrichten) - Tagger mich lieber (@Damian)
Damians Testforum
#29 RE: Weitere Farbe für Landkarte
Will ja keine schlafenden Hunde wecken... aber ist es vorgesehen, dass irgendwann mal von Haus aus mehr als zwei Pin-Farben zur Verfügung stehen? In meinem RPG-Board haben wir heute angefangen, die Landkarte zu nutzen und es wäre toll, wenn ich als Admin zwischen "Wohnorte der RPG-Charaktere" und "Orte, an denen ein besonderes Ereignis stattfand" unterscheiden könnte.
Bitte nicht anchatten - der Chat ist bei mir ausgeblendet und ich sehe eure Nachrichten teilweise erst 20 Minuten später. Schreibt lieber eine PN.
Bitte außerdem nicht in Themen taggen, in denen ich eh aktiv bin. Ich habe alle Themen, an denen ich mitdiskutiere, aboniert und kriege mit, wenn ihr was schreibt. Danke!
- Informationen
- Aktuelle News
- Forum Tutorials - Tipps und Anleitungen
- SEO / Werbung fürs Forum
- Verwaltung
- Extras
- Design
- Plugin(system)
- Eure Fragen zu Tutorials
- Forum Support
- Fragen und Antworten
- Pluginsystem
- Plugins
- Templates & Sprachen
- Bugreport
- Verbesserungsvorschläge
- Sponsoren gesucht
- Das neue Xobor Business-Template
- News und Updates
- Bugreport
- Allgemeines Feedback
- Verbesserungsvorschläge
- Sonstiges
- Kaffeeklatsch
- Lob & Kritik
- Verbesserungsvorschläge
- Allgemeine Fragen
- Fehlermeldungen
- Verbesserungsvorschläge Responsive Design
- Bugreport Responsive Design
- Archiv - Alter Betatest
- Responsive Design - Verbesserungsvorschläge
- Responsive Design - Bugreport
- Fragen zum neuen Template
- Neue Administration Beta Test
- Bugreport Neue Administration
- Allgemeines Fragen & Feedback
- Verbesserungsvorschläge zur neuen Administration
- Shoutbox
Ähnliche Themen
Jetzt anmelden!
Jetzt registrieren!
© 2017 Xobor | Forum-Software