• Willkommen, Gast!
  • Dienstag, 29. September 2020, 09:29:00
Position: Home » Boardsolution » Boardsolution v1.3x » Mod-Anleitungen » Google-Membermap
Thema: Google-Membermap [Seite 1 ]

Kein neuer Beitrag Rafioso , 29.03.2009, 22:47
Beitrag #1   

IP: n/a
Rang: * * * * * * *
Registrierung: 30.08.2006, 22:31
Homepage: http://HomepageStarter.de
Wohnort: O-BW
 

Forum-Gott mit 1723 Punkte, 1537 Beiträge

UPDATE: Edit Nr. 3 unbedingt lesen!

Hallo,

mit dieser Modifikation wird der Wohnort eurer User auf einer Google-Maps-Karte per Marker und
Infofenster dargestellt, sofern der User es im Profil eingetragen hat.

Klickt man auf einen Marker, werden genauere Daten angezeigt.

Die Modifikation sieht dann z.B. so aus:

uploads/membermap.jpg


Das ganze wurde mit Boardsolution 1.36 getestet, dürfte aber auch mit jeder anderen 1.3x
Version funktionieren.



Diese Mod beinhaltet folgende Sprachen:

  • "ger_du" direkt eingetragen.





#### Installation

Öffne den Ordner modules/ und erstellt eine Datei mit dem Namen membermap.php.
Füge nun folgenden Code hinein:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
<?php
if(!class_exists('BS_Module'))
    die();

class BS_Module_membermap extends BS_Module
{
    function run()
    {       
         $this->tpl->set_template('membermap.htm');
         echo $this->tpl->parse_template();
    }
    
      function get_map_vars()
      {
         $qry = $this->db->sql_qry(
            'SELECT u.id,u.user_name, p.add_Membermap
             FROM '.BS_TB_PROFILES.' as p, '.BS_TB_USER.' as u
             WHERE u.id = p.id and p.add_Membermap != ""');   

         $map_vars = '<script type="text/javascript">
//<![CDATA[
/* 
 * GTAvision.com Membermap for Boardsolution 1.3x 
 * Copyright by GTAvision.com
*/
var map = null;
var geocoder = null;
var point = null;
      

   if (GBrowserIsCompatible()) 
   {
      map = new GMap2(document.getElementById("map"));
      
      map.addControl(new GMapTypeControl()); //Kartentyp ausw&auml;hlbar
      map.addControl(new GLargeMapControl()); //Gro&szlig;e Navi
      map.addControl(new GScaleControl()); //Ma&szlig;stab
      map.addControl(new GOverviewMapControl()); //&Uuml;bersichtskarte
      map.enableScrollWheelZoom(); //Scrollbare Karte      
      
      point = new GLatLng(28.304380682962783, -10.1953125);
      map.setCenter(point, 2, G_HYBRID_MAP);
      geocoder = new GClientGeocoder();
';

        while($data = $this->db->sql_fetch_assoc($qry))
         {
            $map_vars .= '            
               if (geocoder) 
               {
                  geocoder.getLatLng("'.$data['add_Membermap'].'", 
                     function(point) 
                     {
                        if (!point) 
                        {
                           alert("Adresse '.$data['add_Membermap'].' von '.$data['user_name'].' nicht gefunden.");
                        } 
                        else 
                        {
                           var marker_helper = new GMarker(point);
                           GEvent.addListener(marker_helper, "click", 
                              function() 
                              {
                                 marker_helper.openInfoWindowHtml("<div style=\"margin:12px 0px 0px 0px; text-align:left;\"><span style=\"color:#000000;\">&gt;&gt; Hier wohnt <a class=\"bs_main\" href=\"index.php?action=userdetails&amp;id='.$data['id'].'\"><b>'.$data['user_name'].'</b></a><hr />'.$data['add_Membermap'].'</span></div>");
                              }
                           );
                        map.addOverlay(marker_helper);
                     }
                  }
               );
            }';
         }
$map_vars .= '         }
      //]]>
      </script>';         
      
         return $map_vars;
      }
    
    function get_location()
    {
        return array($this->url->get_URL('membermap') => 'Membermap');
    }
    
    function has_access()
    {
        return $this->sess->is_loggedin();
    }
    
    function is_guest_only()
    {
        return false;
    }

    function get_robots_value()
    {
        return "noindex,follow";
    }
}
?>


Nun muss die src/page.php geöffnet werden und unter Zeile ~Z.193
PHP:
1
$this->_module->tpl->set_template('footer.htm',0);

folgendes eingefügt werden:
PHP:
1
2
if($this->_module_name == 'membermap')
      $this->_module->tpl->add_variables(array('map_vars' => $this->_module->get_map_vars()));



Öffne anschließend den Ordner themes/<style>/templates/ und erstellt eine Datei mit dem Namen
membermap.htm.
Füge hier folgendes ein:
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<table width="100%" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td class="bs_tbl_top_left"></td>
    <td class="bs_tbl_top"></td>
    <td class="bs_tbl_top_right"></td>
  </tr>
  <tr>
    <td class="bs_tbl_left"></td>
    <td>
    <table width="100%" cellpadding="2" cellspacing="1">
      <tr>
        <td align="center" height="22" class="bs_topic">Membermap</td>
      </tr>
      <tr>
        <td class="bs_main">
        <p>Anhand dieser Karte siehst du, wo die User wohnen. Dies setzt nat&uuml;rlich voraus, dass man seinen Wohnort im <a href="index.php?action=userprofile&amp;loc=pr_infos" title="Profil" class="bs_main">Profil</a> unter <b>Pers&ouml;nliche Infos >> Membermap</b> auch eingetragen hat.<br /><br />
        Je genauer man seinen Wohnort beschreibt, desto genauer landet der Marker auf der Karte. <br />
        Beispiel: "D, 88888 Testhausen, Teststra&szlig;e 1" -> "Land, PLZ Stadt, Stra&szlig;e Hausnummer"
        </p>
  <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=true&amp;key=DEIN_API_CODE" type="text/javascript">
  </script>
<div id="map" style="margin:0px auto 0px auto; width: 100%; height: 620px"></div>
<p>Die Membermap ist nur f&uuml;r eingeloggte User erreichbar. <br />Jegliche Nutzung der Userdaten au&szlig;erhalb dieser Membermap ist strengstens untersagt und wird mit rechtlichen Schritten verfolgt!</p>
        </td>
      </tr>
    </table>
    </td>
    <td class="bs_tbl_right"></td>
  </tr>
  <tr>
    <td class="bs_tbl_bottom_left"></td>
    <td class="bs_tbl_bottom"></td>
    <td class="bs_tbl_bottom_right"></td>
  </tr>
</table>


Wobei DEIN_API_CODE...
HTML:
1
<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=true&amp;key=DEIN_API_CODE" type="text/javascript">

...mit deinem Google-API-Code ersetzt werden muss.
Einen Google-API-Code kannst du hier beantragen.


Öffne nun die themes/<style>/templates/footer.htm und füge vor </body>
HTML:
1
2
3
{IF map_vars}
{map_vars}
{ENDIF}

ein.


#### Installation des Profilfelds

Gehe in den Adminbereich und anschließend nach User >> Zusätzliche Profilfelder.
Klicke dort auf "Neues Feld hinzufügen" und trage folgende Daten ein:
Zitat:

Feldname: Membermap
Angezeigter Name: Membermap

Feldtyp: Text (255 )

Anzeigen:
Beiträge: Nein
Registrierung: Nein
User-Details: Nein
User-Profil: Ja

Pflichtfeld: Nein
Immer anzeigen: Nein

Suffix:
Bearbeitungshinweis: Hier kannst du deinen Wohnort in die Membermap eintragen. Der Wohnort wird nur
in der Membermap angezeigt. Je genauer die Wohnortbeschreibung, desto genauer landet der Marker auf
der Karte. Beispiel: "D, 88888 Testhausen, Teststraße 1" -> "Land, PLZ Stadt, Straße
Hausnummer"

Benutzerdefinierte Darstellung:

Eingabe-Überprüfung:



//Edit
PS: Aufgerufen wird die Map mit index.php?action=membermap

//Edit 2
Keine Templatevariablenübergabe außerhalb des Moduls behoben.

//Edit 3
Solltet ihr unbedingt ändern
modules/membermap.php wurde überarbeitet.
src/page.php muss neu geändert werden.
##############################################


Das wars.

Viel Spaß damit :)

MfG
Rafioso
Anhänge:
membermap.jpg 389.140 Bytes 22 Downloads

Aktuellste Boardsolution-Version: v1.46
Kommende Boardsolution-Version: TBA
-----------------------------------------------------
Ich erstelle nur noch Modifikationen
für aktuelle Versionen!
-----------------------------------------------------
Dieser Beitrag wurde insgesamt 3 mal editiert. Das letzte Mal 18.05.2009, 12:51 von Rafioso.

 
Kein neuer Beitrag Nils , 30.03.2009, 09:58
Beitrag #2   

IP: n/a
Rang: * * * * * * *
Registrierung: 01.07.2003, 18:55
Homepage: http://www.script-solution.de
Wohnort: Marburg
 

Forum-Gott mit 7812 Punkte, 7566 Beiträge
Hallo,

sieht gut aus. Vielen Dank für die Anleitung!
Willst du die auch nochmal als Addon auf unserer Seite eintragen? Da müssen ja langsam mal ein paar
hinzukommen :)

mfg Nils

Druckansicht

n/a n/a 1     (Anzeige: 1 – 2; insgesamt: 2) n/a n/a
User in diesem Thema: 0 Registrierte, 0 Versteckte, 1 Gast, 0 Bots
Keine
Legende: Administratoren, User, Moderatoren
Themenaktionen:
Beiträge verschieben

Toggle Ähnliche Themen zu „Google-Membermap“
  Antworten Aufrufe Themeneröffnung Letzter Beitrag
Keine neuen Beiträge, nicht wichtig Keine neuen Beiträge, „heißes Thema“
Keine neuen Beiträge, offen Keine neuen Beiträge, nicht verschoben
  Google-Membermap für API v3 0 68085 01.05.2014, 02:32
Von: Rafioso
01.05.2014, 02:32
Von: Rafioso Zum letzten Beitrag
Keine neuen Beiträge, nicht wichtig Keine neuen Beiträge, „heißes Thema“
Keine neuen Beiträge, offen Keine neuen Beiträge, nicht verschoben
  Google Sitemap Mod 9 32792 23.01.2010, 20:32
Von: KingGO
11.02.2011, 10:43
Von: langer Zum letzten Beitrag
Keine neuen Beiträge, nicht wichtig Keine neuen Beiträge, „heißes Thema“
Keine neuen Beiträge, offen Keine neuen Beiträge, nicht verschoben
  statische url für seo bzw. google 3 12199 04.08.2007, 20:50
Von: bernhard
08.01.2010, 19:51
Von: Nils Zum letzten Beitrag
Keine neuen Beiträge, nicht wichtig Keine neuen Beiträge, „heißes Thema“
Keine neuen Beiträge, offen Keine neuen Beiträge, nicht verschoben
  Google-Membermap für API v2 0 24139 19.11.2009, 03:10
Von: Rafioso
19.11.2009, 03:10
Von: Rafioso Zum letzten Beitrag
Keine neuen Beiträge, nicht wichtig Keine neuen Beiträge, „heißes Thema“
Keine neuen Beiträge, offen Keine neuen Beiträge, nicht verschoben
  problem mit dem Google Crawler 6 17146 10.10.2009, 14:08
Von: Cewbacca
13.10.2009, 20:44
Von: Rafioso Zum letzten Beitrag
  • 0.033054 Sek., 11 DB-Zugriffe, 899.148 KiB
  • Powered by Boardsolution v1.46