Vom Mitgliederprofil in die Landkarte

  • Seite 2 von 3
20.05.2007 14:11
avatar  Vossi
#16 RE: Vom Mitgliederprofil in die Landkarte
Vo
Mitglied

Wenn es erlaubt ist, dann ja:

{{endbody.start}}
<script src="https://maps.google.com/maps?file=api&v=2&key={{api}}" type="text/javascript"></script>
<script type="text/javascript" defer="defer">


var select_userid = '';
var select_point1 = 0;
var select_point2 = 0;
var select_html = '';

var query = location.search;
if(query.length > 0) {
query = query.substring(1, query.length);
var elements = query.split('&');
for (i = 0; i < elements.length; i++) {
var assign = elements[i].split('=');
if(assign[0] == 'userid') {
select_userid = assign[1];
break;
}
}
}


//<![CDATA[
// Create our "tiny" marker icon
var icon = new GIcon();
icon.image = "http://labs.google.com/ridefinder/images/mm_20_red.png";
icon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
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();
orticon.image = "http://labs.google.com/ridefinder/images/mm_20_yellow.png";
orticon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
orticon.iconSize = new GSize(12, 20);
orticon.shadowSize = new GSize(22, 20);
orticon.iconAnchor = new GPoint(6, 20);
orticon.infoWindowAnchor = new GPoint(5, 1);

var map = new GMap(document.getElementById("map"));
map.setMapType(G_HYBRID_TYPE);
// map.addControl(new GSmallMapControl());
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());
map.centerAndZoom(new GPoint({{startX}},{{startY}}),{{startZoom}});

function createUser(data)
{


var userid = data[8].substring(1, data[8].length).split('_')[0];
if(select_userid == userid) {
select_point1 = data[0];
select_point2 = data[1];
select_html = html;
}


var point = new GPoint(data[0], data[1]);
var marker = new GMarker(point, icon);
var 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>";
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml(html);
});
return marker;
}
function createOrt(data)
{
var point = new GPoint(data[0], data[1]);
var marker = new GMarker(point, orticon);
var html = "<div style='width:280px;height:120px;overflow:auto;color:#000000'><b>" + data[2] + "</b><br>" + data[3];
html += "</div>";
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml(html);
});
return marker;
}
users = new Array(
{{users.startlist}}{{tr}}
new Array({{users:x}},{{users:y}},'{{users:username}}','{{users:userimage}}','{{users:usertitle}}','{{users:usercolor}}','{{users:messages}}','{{users:reged|dateformat}}','{{users:userlink}}') {{tr.start}},{{tr.end}}{{users.end}}
);
for (var i = 0; i < users.length; i++) {
var marker = createUser(users[i]);
map.addOverlay(marker);
}
orte = new Array(
{{orte.startlist}}
{{tr2}} new Array({{orte:x}},{{orte:y}},'{{orte:title}}','{{orte:text}}')
{{tr2.start}},{{tr2.end}}
{{orte.end}}
);
for (var i = 0; i < orte.length; i++) {
var marker = createOrt(orte[i]);
map.addOverlay(marker);
}


if(select_point1 > 0 && select_point2 > 0) {
map.centerAndZoom(new GPoint(select_point1,select_point2),2);
map.openInfoWindow(map.getCenter(),select_html);
}


//]]>
</script>
{{endbody.end}}

___________
Beste Grüße,
Vossi

 Antworten

 Beitrag melden
20.05.2007 14:12
#17 RE: Vom Mitgliederprofil in die Landkarte
avatar
Mitglied

hat sich erledigt...

der Teil muss an eine andere Stelle

var userid = data[8].substring(1, data[8].length).split('_')[0];
if(select_userid == userid) {
select_point1 = data[0];
select_point2 = data[1];
select_html = html;
}


kommt vor return marker;

sonst ist die Variable html noch nicht belegt!
Hatte ich vergessen zu schreiben...


 Antworten

 Beitrag melden
20.05.2007 14:16
avatar  Vossi
#18 RE: Vom Mitgliederprofil in die Landkarte
Vo
Mitglied

Hallo Sabine,
jetzt geht es!!! SUPI!!! DANKE!

Falls es rechtliche Probleme mit dem o.g. Code gibt, dann möge Johannes das bitte löschen!

@Sabine,
wäre ganz toll für alle anderen, wenn Du die Sache nochmals zusammen fast.

lichen Dank für Deine Hilfe!

___________
Beste Grüße,
Vossi

 Antworten

 Beitrag melden
20.05.2007 14:30
#19 RE: Vom Mitgliederprofil in die Landkarte
avatar
Mitglied

In Antwort auf:
wäre ganz toll für alle anderen, wenn Du die Sache nochmals zusammen fast


Alles klar, dann also nochmal alle nötigen Änderungen im Landkarten-Template um einen Link aus dem Mitgliederprofil in die Landkarte zu setzen mit
<a href="geomap.php?userid={{userid}}">Wohnort in Landkarte anzeigen</a>
und des weitern ein Info-Fenster in der Landkarte zu öffnen.

[...]
<script type="text/javascript" defer="defer">
var select_userid = '';
var select_point1 = 0;
var select_point2 = 0;
var select_html = '';
var query = location.search;
if(query.length > 0) {
query = query.substring(1, query.length);
var elements = query.split('&');
for (i = 0; i < elements.length; i++) {
var assign = elements[i].split('=');
if(assign[0] == 'userid') {
select_userid = assign[1];
break;
}
}
}
[...]
function createUser(data)
{
[...]
var userid = data[8].substring(1, data[8].length).split('_')[0];
if(select_userid == userid) {
select_point1 = data[0];
select_point2 = data[1];
select_html = html;
}
[...]
return marker;
}
[...]
if(select_point1 > 0 && select_point2 > 0) {
map.centerAndZoom(new GPoint(select_point1,select_point2),2);
map.openInfoWindow(map.getCenter(),select_html);
}
</script>

Wichtig ist, dass der Mittelteil in der Funktion createUser HINTER der Zuweisung der Variable html steht aber VOR return marker!


 Antworten

 Beitrag melden
24.05.2007 20:17
avatar  spooner
#20 RE: Vom Mitgliederprofil in die Landkarte
sp
Mitglied

hallo sabine,

einfach nur genial dein script............

habe es bei mir eingebaut und es funktioniert einwandfrei(auch mit dem feuerfüchschen)

eine frage,an welche stelle verändere ich den zoomwert,da in unserer region leider bei diesem zoomwert nichts von google an images mehr rüberkommt

wir müssten eine stufe höher ruaszoomen um das satellitenbild noch angezeigt zu bekommen


 Antworten

 Beitrag melden
24.05.2007 22:35 (zuletzt bearbeitet: 24.05.2007 22:35)
#21 RE: Vom Mitgliederprofil in die Landkarte
avatar
Mitglied
Im letzten Teil

if(select_point1 > 0 && select_point2 > 0) {
map.centerAndZoom(new GPoint(select_point1,select_point2),2); /* <= hier */
map.openInfoWindow(map.getCenter(),select_html);
}


größere Zahl bedeutet größerer Kartenausschnitt...

Viele Grüße

 Antworten

 Beitrag melden
24.05.2007 23:03
avatar  spooner
#22 RE: Vom Mitgliederprofil in die Landkarte
sp
Mitglied

dankeschön,hat mir sehr geholfen :-)


 Antworten

 Beitrag melden
24.05.2007 23:42
avatar  Vossi
#23 RE: Vom Mitgliederprofil in die Landkarte
Vo
Mitglied

Zitat von sabine99
Im letzten Teil
if(select_point1 > 0 && select_point2 > 0) {
map.centerAndZoom(new GPoint(select_point1,select_point2),2); /* <= hier */
map.openInfoWindow(map.getCenter(),select_html);
}

größere Zahl bedeutet größerer Kartenausschnitt...
Viele Grüße

Nabend!
Genau, habe das auch schon auf den Wert 3 eingestellt!

___________
Beste Grüße,
Vossi

 Antworten

 Beitrag melden
04.06.2007 12:51
avatar  Vossi
#24 RE: Vom Mitgliederprofil in die Landkarte
Vo
Mitglied

@sabine99:
Deine Funktions-Erweiterung läuft sehr gut ... bis auf eine einzige Ausnahme:

Ein Mitglied in unserem Forum hat seinen Wohnsitz in den USA. Einzig und allein da funktioniert der Sprung in die Landkarte nicht!

Anscheinend liegt es daran, dass der Längengrad - korrekter Weise - im Minusbereich liegt (-82.xxxx)!

Weißt Du eine Abhilfe???

___________
Beste Grüße,
Vossi

 Antworten

 Beitrag melden
05.06.2007 08:05
#25 RE: Vom Mitgliederprofil in die Landkarte
avatar
Mitglied

Ach ja, daran hab ıch nıcht gedacht...
ersetze mal dıe > Zeıchen durch != ım letzten Teıl, also folgendermassen:

if(select_point1 != 0 && select_point2 != 0) {
map.centerAndZoom(new GPoint(select_point1,select_point2),2);
map.openInfoWindow(map.getCenter(),select_html);
}


Dıe Abfrage != 0 ıst nötıg, da dıe Varıablen auf 0 gesetzt werden wenn keıne Landkarten-Daten über dıeses Mıtglıed vorhanden sınd. Heısst also wenn jemand genau dort wohnt dann geht es so auch nıcht. Ist aber wohl eher unwahrscheınelıch...

Grüsse


 Antworten

 Beitrag melden
05.06.2007 08:19
avatar  Vossi
#26 RE: Vom Mitgliederprofil in die Landkarte
Vo
Mitglied

Moin Sabine,
so funktioniert es jetzt. DANKE!

___________
Beste Grüße,
Vossi

 Antworten

 Beitrag melden
28.02.2008 20:18 (zuletzt bearbeitet: 28.02.2008 20:19)
#27 RE: Vom Mitgliederprofil in die Landkarte
avatar
Mitglied

Hallo, ich hab' mal 'ne kurze Frage.
Die Anfrage wurde auch bei mir im Forum von einer Userin gestellt:


Wäre es denn möglich, dass der Link zur Landkarte nur angezeigt wird, wenn der User seinen Wohnort angegeben hat?
Bis jetzt denke ich, dass es nicht geht, aber wäre natürlich toll, wenn ich mich irre.
Wenn es gehen sollte, bitte ich darum, einen kleinen Beispiel-Code zu posten oder zumindest mal einen Ansatz, wie es gehen könnte.
Wenn die Umsetzung mit JavaScript erfolgt und nicht allzu schwer ist, könnte ich den Code evtl. auch selbst zusammenbasteln.
(Vielleicht gibt es aber auch eine Template-Variable wie {{user_registered==true.start}}, die dabei behilflich sein kann.)

Ich habe nur keine Ahnung, ob ich Template-Variablen von der Landkarte auch im Mitglieder-Profil benutzen kann und welche die richtigen sind.


Schonmal danke im Vorraus!

 Antworten

 Beitrag melden
29.02.2008 19:58 (zuletzt bearbeitet: 29.02.2008 19:59)
#28 RE: Vom Mitgliederprofil in die Landkarte
avatar
Mitglied
Mir ist keine Variable bekannt, die im Mitgliederprofil zeigt ob der User in der Landkarte eingetragen ist oder nicht. Daher ist es nach meinem Wissen nicht möglich.

Du könntest höchstens in der Landkarte eine Meldung geben, wenn der User nicht existiert.

Beispiel:
if(select_point1 != 0 && select_point2 != 0) {
map.centerAndZoom(new GPoint(select_point1,select_point2),2);
map.openInfoWindow(map.getCenter(),select_html);
}
else if(query.length > 0) {
alert('Das Mitglied konnte in der Landkarte nicht gefunden werden');
}

 Antworten

 Beitrag melden
29.02.2008 23:15
#29 RE: Vom Mitgliederprofil in die Landkarte
avatar
Mitglied

Gut, dann habe ich jetzt wenigstens Gewissheit und nichts falsches weitergegeben.

Danke auch für die super Idee mit der Meldung!
Was 2-3 Code-Zeilen so anstellen können...


 Antworten

 Beitrag melden
29.02.2008 23:46
#30 RE: Vom Mitgliederprofil in die Landkarte
avatar
Mitglied

Danke! Ist besser als nur die Karte ganz zu zeigen...

Gruss, Martin (der das auch gleich eingebaut hat...)


Admin Board Nr: 210277 Standard Template; Oldtimer Motorrad Forum VFV; http://210277.homepagemodules.de/

Admin Board Nr: 163262 Standard Template; Oldtimer Automobil Forum VFV; http://163262.homepagemodules.de/

 Antworten

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