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.
Vom Mitgliederprofil in die Landkarte
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}}
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...
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) {</script>
map.centerAndZoom(new GPoint(select_point1,select_point2),2);
map.openInfoWindow(map.getCenter(),select_html);
}
Wichtig ist, dass der Mittelteil in der Funktion createUser HINTER der Zuweisung der Variable html steht aber VOR return marker!
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
#21 RE: Vom Mitgliederprofil in die Landkarte
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
Zitat von sabine99
Im letzten Teilif(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!
@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???
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
#27 RE: Vom Mitgliederprofil in die Landkarte
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!
#28 RE: Vom Mitgliederprofil in die Landkarte
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');
}
#29 RE: Vom Mitgliederprofil in die Landkarte
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...
#30 RE: Vom Mitgliederprofil in die Landkarte
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/
- 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