HTH-C.com - Forum
Latest News Latest Threads
Neuerung: Persönliche Galerie
Informationen zur Übernahme der Erweite..
HTH Blog - Version 2.0
#HTH.Systems - Betatester gesucht
Neueröffnung - PHPKit-Award.de
HTH Webchat v3
Letzter Beitrag Happy Birthday Bottyline Weiblicher Benutzer Heute, 0:00 Zeit der letzten Antwort
Letzter Beitrag Gibt es eigentlich noch jemand der PHPki.. Myrddin Männlicher Benutzer 19.04.2025 - 02:37 Zeit der letzten Antwort
Letzter Beitrag Herzlich Willkommen Botty Männlicher Benutzer 22.11.2024 - 21:45 Zeit der letzten Antwort
Letzter Beitrag PHPKit 1.6.6 WEBI Männlicher Benutzer 24.06.2024 - 13:58 Zeit der letzten Antwort
Letzter Beitrag PHPKit 1.6.6 ohne ASCE auf PHP8x Myrddin Männlicher Benutzer 22.03.2023 - 13:36 Zeit der letzten Antwort
 56.027 Posts & 4.945 Themen in 78 Foren
Forenübersicht » Support / Hilfe » PHPKit 1.6.4 & 1.6.5 & 1.6.6 » Modifikationen » UserMap ersetzen durch GoogleM..

UserMap ersetzen durch GoogleMap
24 Beiträge in diesem Thema
 Seiten (2):    1     2    Next    >  
09.02.2013 - 20:48 Uhr
Beitrag: #1
Hallo,

ich habe kein zutreffendes Forum gefunden, also schreibe ich meinen Wunsch hier rein.
Ich glaube, irgend jemand hat den Wunsch hier schon mal geäußert.

Da ja das UserMap hier und da Probleme aufwirft, so ab und an, dachte ich mir, da nach langem suchen
nichts besseres zu finden war, dass man GoogleMap verwendet und zwar in der Form von UserMap.
Zumindest so in etwa.

Wenn jemand seine PLZ angibt, soll neben der PLZ stehen: (Auf der Karte anzeigen) << ---- Als Link
Also so: Plz: 11111 (Auf der Karte anzeigen)
Oder so: Plz: 11111 (Hier klicken)

Wenn man dann darauf klickt, geht ein Popup auf und wird dann so angezeigt:
Sie bitte Bild:



Wenn man dann mit der Maus (Die als Hand dargestellt wird) doppelt klickt, zoomt das automatisch ran.

Das wäre ne feine Map wie ich finde.

Vor allem wären alle Orte drin an der richtigen Stelle, man braucht nicht extra y und x erstellen usw.

Die wäre ein Wunsch von mir, klar jeder Admin muss sich vielleicht bei Google dann reg und sich die Karte laden irgendwie,
vielleicht auch noch einen Google Key anfordern, was ja dann das geringste Problem sein dürfte.

mfg

neumicha

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von neumicha - 10.02.2013 - 12:42 Uhr
 
Zum Anfang der Seite
16.02.2013 - 16:17 Uhr
Beitrag: #2
  • Beschreibung:

    Mit diesen kleinen Script ist es möglich, im Userprofil ein Popup (1. Bild) bzw. bei deaktivierten Javascript (2. Bild) ein Link und eine Karte anzeigen zu lassen. Dafür muss lediglich ein Profilfeld im AdminCenter erstellt werden, das im Namen das Wort plz* enthält. Für bessere Genauigkeit müssten weitere Profilfelder erstellt werden - in diesen muss einfach im Namen wohnort*, adress* oder land* beinhalten. Letzteres Profilfeld würde im Grunde nur die Herkunft-Angabe ersetzen (z.B. durch Lucky's Addon Profilerweiterung [+ Dropdown] können Auswahllisten erstellt werden -> bessere Möglichkeit für mehr Vielfalt).
    Der User müsste am Ende einfach die Profilfelder ausfüllen, wodurch dann GoogleMaps den Aufenhaltsort auswertet und anzeigt. Im Falle, das keine Angabe getätigt wurde, wird auch nichts angezeigt. Unter umständen, je nach Eintragung der User, kann es passieren, das GoogleMaps den falschen Ort anzeigt - Aufgrund der ungenauen möglichen Angaben, die der Admin gibt, und der Eingabe der User.

    Mehr unter den Bildern zu erkennen ;o

    * = Groß- und Kleinschreibung spielen keine Rolle
  • Bilder:



  • Code:
    • pkinc/public/userinfo.php
      • Öffne o.g. Datei und suche dies:



        1
        2

        PHP-Quelltext

        $getprofilefields=$SQL->query("SELECT * FROM ".pkSQLTAB_USER_PROFILEFIELDS." ORDER by profilefields_order ASC");
        while(
        $profilefields=$SQL->fetch_array($getprofilefields))

        Und füge darüber das ein:



        1
        2
        3
        4
        5

        PHP-Quelltext

        # pkGoogleMaps
        $pkGM_loopName  =
        $pkGM_name      =
        $pkGM_content   =NULL;
        # pkGoogleMaps

      • Suche weiter



        1

        PHP-Quelltext

            eval("\$info_extended.= \"".pkTpl("userinfo_ext")."\";");

        Und füge darüber das ein:



        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

        PHP-Quelltext

            # pkGoogleMaps
            
        if ($fieldcontent!==$lang['not_specified'] && trim($fieldcontent)!='')
                {
                if (
                       !
        stristr($fieldname'plz')
                    && !
        stristr($fieldname'wohnort')
                    && !
        stristr($fieldname'adress')
                    && !
        stristr($fieldname'land')
                    )
                    {
                    continue;
                    }
                
        $pkGM_loopName
                    
        .=
                    
        $pkGM_loopName
                    
        ',+'.$fieldcontent
                    
        :      $fieldcontent
                    
        ;


                if (
        stristr($fieldname'plz'))
                    {
                    
        $pkGM_name      =$fieldname;
                    
        $pkGM_content   =$fieldcontent;
                    
        $info_extended .='$pkGM_loop';
                    continue;
                    }
                }
            
        # pkGoogleMaps

      • Suche weiter



        1

        PHP-Quelltext

        if($userinfo['user_emailshow']==1)

        Und füge darüber das ein:



        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

        PHP-Quelltext

        # pkGoogleMaps
        if ($pkGM_name!==NULL && pkGM_content!==NULL && $pkGM_loopName!==NULL)
            {
            if (
        trim($userinfo['user_country'])!=='def' && trim($userinfo['user_country'])!=='oth' && !stristr($pkGM_loopNamepkGetLang('origin_'.$userinfo['user_country'])))
                {
                
        $pkGM_loopName .=',+'.$info_country;
                }
            
        $fieldname      =$pkGM_name;
            
        $fieldcontent   =$pkGM_content;
            
        $pkGM_frame     ='http://maps.google.de/maps?q='.$pkGM_loopName.'&output=embed';
            
        $pkGM_link      ='http://maps.google.de/maps?q='.$pkGM_loopName;
            
        $fieldcontent  .='
        <style type="text/css">
        #pkGoogleMaps
            {
            position:                relative;
            height:                  300px; /* an edit value */
            }
            #pkGoogleMaps iframe
                {
                border:                  0px;
                margin:                  5px; /* an edit value */
                padding:                 0px;
                width:                   500px; /* an edit value */
                height:                  300px; /* an edit value */
                position:                absolute;
                top:                     0px;
                left:                    -125px; /* an edit value */
                }
        </style>
        <script type="text/javascript" language="javascript">
        function pkGoogleMaps()
            {
            window.open("'
        .$pkGM_frame.'", "pkGoogleMaps", "toolbar=no,menubar=no,location=no,scrollbars=yes,resizable=no,status=no,width=700,height=400");
            }
        document.write(\'<span class="small">[ <a class="small" onClick="pkGoogleMaps()">Karte anzeigen</a> ]</span>\');
        </script>
        <noscript>
            <span class="small">[ <a class="small" target="_blank" href="'
        .$pkGM_link.'">große Karte anzeigen</a> ]</span>

            <div id="pkGoogleMaps">
                <iframe src="'
        .$pkGM_frame.'"></iframe>
            </div>
        </noscript>
                '
        ;
            eval(
        "\$pkGM_loop= \"".pkTpl('userinfo_ext')."\";");
            
        $info_extended  =str_replace('$pkGM_loop'$pkGM_loop$info_extended);
            }
        # pkGoogleMaps


    • Einstellungen:
      • Für Popup-Fenster:

        Höhe und Breite des Fensters wird hier eingestellt:



        1

        PHP-Quelltext

        window.open("'.$myField_googleMap.'""pkGoogleMaps""toolbar=no,menubar=no,location=no,scrollbars=no,resizable=no,status=no,width=700,height=400");

        Und zwar steht am Ende dieser Part:



        1

        PHP-Quelltext

        width=700,height=400

        Einfach die 700 (Breite) oder die 400 (Höhe) nach eigenen belieben anpassen.


      • Für Karte im Profil, wenn Javascript deaktiviert ist:

        Hier wird direkt im Profil die Karte angezeigt (plus einen Link zu GoogleMaps). Diese Karte wird über CSS deklariert und alles, was geändert werden kann, ist im CSS-Code mit den Kommentar /* an edit value */ versehen.
        Wobei die Werte für die Höhe, siehe dies:



        1

        PHP-Quelltext

        height:                  300px/* an edit value */
        Zweimal erscheint und beide den gleichen Wert haben muss.

        Ansonsten erklär ich nochmal alle Werte, die geändert werden können, im einzelnen:



        • 1

          PHP-Quelltext

          height:                  300px/* an edit value */
          Die Höhe der Karte. Wie oben gesagt, müssen beide Angaben gleich sein.




        • 1

          PHP-Quelltext

          margin:                  5px/* an edit value */
          Der Abstand von der Karte nach ausen hin.




        • 1

          PHP-Quelltext

          width:                   500px/* an edit value */
          Die Breite der Karte.




        • 1

          PHP-Quelltext

          left:                    -125px/* an edit value */
          Die Position in der vertikalen. Normal ist die Karte direkt unterhalb der PLZ-Angabe. Es besteht aber die Möglichkeit, die Karte weiter nach links (negative Werte, z.B. -125px) oder rechts (positive Werte, z.B. 50px) zu setzen.


    Bei mir hat alles funktioniert ;o Wenn was nicht klar ist, einfach meckern ;o


Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von k!r!ka - 21.02.2013 - 20:47 Uhr
 
Zum Anfang der Seite
16.02.2013 - 17:38 Uhr
Beitrag: #3
Hallo k!r!ka,

lieben herzlichen dank klappt fast wunderbar.  lachend

Ich wollte das mit dem Iframe ausprobieren weiß aber nicht so recht wie.

Dann habe ich noch ein kleines Problemchen.

Wenn ich jemand aus der ch oder austria habe, dann auf Karte klicke, lande ich entweder
in Australien pder Canada, lach>

Liegt das an Google?

Dann war ja die Grundeinstellung 700 x 400 als Kartengröße, da ging das Ran- Wegzoomen nicht,
habe dann die Zahl von 400 Höhe auf 700 Höhe gestellt, seitdem geht es.

mfg

neumicha

 
Zum Anfang der Seite
16.02.2013 - 18:07 Uhr
Beitrag: #4
Zitat
Original geschrieben von neumicha

[..] klappt fast wunderbar.  lachend


Komm mir nicht so ;p Das hat zu klappen, ob du willst oder nicht ;p



Zitat
Original geschrieben von neumicha

Ich wollte das mit dem Iframe ausprobieren weiß aber nicht so recht wie.


Du meinst wie im 2. Bild? Das ist als Alternative für User, die kein Javascript aktiv haben.



Zitat
Original geschrieben von neumicha

Wenn ich jemand aus der ch oder austria habe, dann auf Karte klicke, lande ich entweder
in Australien pder Canada, lach>

Liegt das an Google?


Nicht direkt. Es ist, wie ich bereits sagte, eine reine PLZ-Suche. Stadt oder Land, die eine genaue Positionierung ergeben würden, entfallen ja. Daß das jetzt doch so arg ungeau wird - da müsste man ggf. noch das Land aus dem Kit dazu nehmen. Vielleicht auch noch ein weiteres Profilfeld .. Mal sehen ^^""



Zitat
Original geschrieben von neumicha

Dann war ja die Grundeinstellung 700 x 400 als Kartengröße, da ging das Ran- Wegzoomen nicht,
habe dann die Zahl von 400 Höhe auf 700 Höhe gestellt, seitdem geht es.


Das reinzoomen via. Mausrad geht in der Einbinde-Version von GoogleMaps nicht. Wahrscheinlich weil es einfach ein Ausschnitt sein soll, für mehr soll das Menu an den Rand drum herum da sein. Aber macht ja nichts, man kann ja die Werte des Popups entsprechend ändern ;o


 
Zum Anfang der Seite
16.02.2013 - 18:31 Uhr
Beitrag: #5
Ah so,
ok, dann brauche ich das mit dem Iframe nicht, finde das Popup eh besser.

Vielleicht kann man ja das Feld Land =Herkunft noch irgendwie mit einbauen,
wäre super, bei Deutschland funktioniert es ja wunderbar.

Schön wäre es, wenn die ausländischen Länder (was für ein deutsch) auch noch gingen  lachend

mfg

micha

 
Zum Anfang der Seite
16.02.2013 - 19:58 Uhr
Beitrag: #6
Suche mal dies:



1
2
3
4

PHP-Quelltext

    # pkGoogleMaps
    
if (stristr($fieldname'plz') && intval($fieldcontent) > 0)
        {
        
$myField_plz        =intval($fieldcontent);

Und mache daraus das:



1
2
3
4
5

PHP-Quelltext

    # pkGoogleMaps
    
if (stristr($fieldname'plz') && intval($fieldcontent) > && trim($userinfo['user_country'])!=='def' && trim($userinfo['user_country'])!=='oth')
        {
        
$myField_plz        =intval($fieldcontent);
        
$myField_plz       .=',+'.$info_country;

Sobald der User seine PLZ eingetragen und sein Herkunftsland (außer Anderes und keine Angabe) gewählt hat, erscheint der Popup-Link bzw. für die non-Javascript-Nutzer ein Direktlink zu GoogleMaps und eine Karte in eingestellter Größe.

Obige Änderung ist im Post mit den gesamten Code ebenfalls nochmal enthalten.


 
Zum Anfang der Seite
16.02.2013 - 21:07 Uhr
Beitrag: #7
gibt ja im prinzip keine blöden fragen ^^ aber...

wie bekommt man es hin die map in nem verweis aufzuführen damit alle member user... etc (wie bei der standart usermap) angezeigt werden?

vor allem wo bekomme ich das addon her für php 1.6.6 ? finde es nirgends.. forensuche hat auch nicht geholfen.

lg

pit

 
Zum Anfang der Seite
16.02.2013 - 21:20 Uhr
Beitrag: #8
Die UserMap 1.6.5 geht auch für die 1.6.6. Einfach mal bei PimpYourKit gucken, unter Downloads > ESA-Clan (ist von denen).

Und GoogleMap kann man ansich auch entsprechend umgestalten. Dafür müsste man sich, soweit ich das von Google verstanden habe, auch bei Google registrieren, damit derren Service geladen und dann auf der jeweiligen Seite verarbeitet werden kann  


 
Zum Anfang der Seite
16.02.2013 - 21:42 Uhr
Beitrag: #9
Hallo k!r!ka,

mit dem hinzugefügten Code




1

PHP-Quelltext

$myField_plz       .=',+'.$info_country;  


wird nun gar nicht mehr angezeigt.
Also plz und wohnort schon, aber der Link zur Karte nicht mehr

 
Zum Anfang der Seite
16.02.2013 - 21:48 Uhr
Beitrag: #10
Von Wohnort (Profilfeld) war ja keine Rede   Ich hab die Herkunft-Auswahl genommen - Und wenn der User die PLZ (Profilfeld) und seine Herkunft (non-Profilfeld) angibt, erscheint der Link  


 
Zum Anfang der Seite
16.02.2013 - 21:54 Uhr
Beitrag: #11
iCH HABE JA ALLES ANGEGEBEN
3 andere user auch, aber nada, erscheint nix mehr

 
Zum Anfang der Seite
16.02.2013 - 22:02 Uhr
Beitrag: #12
Was hast du denn z.B. angegeben?

Ein Link erscheint, wenn folgende Bedinungen erfüllt sind:
  • Hat das Profilfeld den Text plz (Groß- und Kleinschreibung sind egal) im Profilnamen
  • Ist der zugehörige Wert des Profilfeldes größer als Zahl 0 (= Wert > 0)
  • Ist die Herkunftsauswahl nicht def (= keine Angabe)
  • Ist die Herkunftsauswahl nicht oth (= Anderes)


Sollte also bei dir kein Link erscheinen, dann wegen eines der letzten 3 Punkte von obiger Liste. Der rest ist Google-Arbeit.


 
Zum Anfang der Seite
16.02.2013 - 22:06 Uhr
Beitrag: #13
Angegeben ist:

PLZ 65110
Ort: Wiesbaden
Land Deutschland
Bundesland Hessen

 
Zum Anfang der Seite
16.02.2013 - 22:20 Uhr
Beitrag: #14
Und ist Land bei dir ein Profifeld, oder ist es das bereits von Anfang an enthaltene Herkunft?

Wenn letzteres, dann gibt es keinen Grund, das der Link nicht erscheint. Sollte es aber ein Profilfeld sein, dann ist es korrekt, das kein Link erscheint  


 
Zum Anfang der Seite
16.02.2013 - 22:26 Uhr
Beitrag: #15
ist bereits von Anfang an enthaltene Herkunft

 
Zum Anfang der Seite
 Seiten (2):    1     2    Next    >  

Ähnliche Themen
 
Fragen und Antworten Fragen und Antworten » hässliche alte .gif´s ersetzen durch png´s - Letzte Antwort von pitBull_i7 am 24.02.13, 22:33 hässliche alte .gif´s ersetzen durch png´s  (24.02.13, 22:33)
Modifikationen Modifikationen » Ersetzen / Weiterleitung: include.php?path= durch ?path= - Letzte Antwort von DHH am 24.03.14, 16:12 Ersetzen / Weiterleitung: include.php?path= durch ..  (24.03.14, 16:12)
Lob und Kritik Lob und Kritik » Bewertung durch User - Letzte Antwort von WEBI am 09.04.10, 19:08 Bewertung durch User  (09.04.10, 19:08)
Support Support » Profilerweiterung: Stadtname durch Postleitzahl - Letzte Antwort von MMax am 31.08.07, 17:27 Profilerweiterung: Stadtname durch Postleitzahl  (31.08.07, 17:27)
Modifikationen Modifikationen » PLZ und Wohnortfelder durch User ausblenden? - Letzte Antwort von k!r!ka am 13.01.13, 20:48 PLZ und Wohnortfelder durch User ausblenden?  (13.01.13, 20:48)

HTH-C.com - Webmedien & Community