Weitere Farbe für Landkarte

  • Seite 2 von 3
10.03.2012 00:30 (zuletzt bearbeitet: 10.03.2012 00:39)
avatar  Damian
#16 RE: Weitere Farbe für Landkarte
avatar
Spacebot-Rekordhalter

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>&nbsp;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


 Antworten

 Beitrag melden
10.03.2012 00:39
#17 RE: Weitere Farbe für Landkarte
Bu
Mitglied

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

 Antworten

 Beitrag melden
10.03.2012 00:45 (zuletzt bearbeitet: 10.03.2012 00:57)
avatar  Damian
#18 RE: Weitere Farbe für Landkarte
avatar
Spacebot-Rekordhalter

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


 Antworten

 Beitrag melden
03.04.2012 12:33 (zuletzt bearbeitet: 03.04.2012 12:45)
avatar  mihca02
#19 RE: Weitere Farbe für Landkarte
mi
Mitglied

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

-------------------------------------------------------------------


 Antworten

 Beitrag melden
03.04.2012 12:47
avatar  Damian
#20 RE: Weitere Farbe für Landkarte
avatar
Spacebot-Rekordhalter

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


 Antworten

 Beitrag melden
03.04.2012 12:49
avatar  mihca02
#21 RE: Weitere Farbe für Landkarte
mi
Mitglied

Danke Damian,

ich hatte etwas überschrieben .. funzt jetzt wieder soweit

Grüße
Achim

-------------------------------------------------------------------


 Antworten

 Beitrag melden
03.04.2012 13:38
avatar  mihca02
#22 RE: Weitere Farbe für Landkarte
mi
Mitglied

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

-------------------------------------------------------------------


 Antworten

 Beitrag melden
03.04.2012 13:49
avatar  Damian
#23 RE: Weitere Farbe für Landkarte
avatar
Spacebot-Rekordhalter

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


 Antworten

 Beitrag melden
03.04.2012 14:04
avatar  mihca02
#24 RE: Weitere Farbe für Landkarte
mi
Mitglied

Genau das meine ich...

-------------------------------------------------------------------


 Antworten

 Beitrag melden
03.04.2012 14:24
avatar  Damian
#25 RE: Weitere Farbe für Landkarte
avatar
Spacebot-Rekordhalter

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


 Antworten

 Beitrag melden
04.04.2012 15:37
avatar  Damian
#26 RE: Weitere Farbe für Landkarte
avatar
Spacebot-Rekordhalter

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 = "&lt;div style='width:280px;height:120px;color:#000000'&gt;";
[...]

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


 Antworten

 Beitrag melden
04.04.2012 16:04 (zuletzt bearbeitet: 04.04.2012 16:05)
avatar  mihca02
#27 RE: Weitere Farbe für Landkarte
mi
Mitglied

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

-------------------------------------------------------------------


 Antworten

 Beitrag melden
04.04.2012 21:13
avatar  Damian
#28 RE: Weitere Farbe für Landkarte
avatar
Spacebot-Rekordhalter

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


 Antworten

 Beitrag melden
06.11.2012 15:51
#29 RE: Weitere Farbe für Landkarte
avatar
Mitglied

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!

 Antworten

 Beitrag melden
06.11.2012 17:06
avatar  Alice ( gelöscht )
#30 RE: Weitere Farbe für Landkarte
Al
Alice ( gelöscht )

Hi,

es ist eine generelle Überarbeitung der Landkarte in Planung, wobei wir noch nicht sagen können, wie das in den Details aussieht. Da zur Zeit aber noch andere Projekte in Planung und Schaffung sind, ist damit vor 2013 nicht zu rechnen.


 Antworten

 Beitrag melden
Bereits Mitglied?
Jetzt anmelden!
Mitglied werden?
Jetzt registrieren!