|
|
Latest News |
Latest Threads |
|
 |
56.052 Posts & 4.945 Themen in 78 Foren |
|
|
|
 |
Forensuche |
|
Suchbegriff |
Benutzerauswahl |
Ergebnisse anzeigen |
 |
 |
UserMap ersetzen durch GoogleMap 24 Beiträge in diesem Thema |
|
|
 |
|
 |
17.02.2013 - 00:01 Uhr |
|
|
|
Okay, haben das über TeamViewer kurz geregelt. Es lag nicht direkt an den Code, eher an die Ausgabe des Herkunftslandes, das mit einen Bild bestückt war, wo natürlich der Javascript-Code Probleme hatte und entsprechend nicht ausführen konnte, wodurch kein Link angezeigt wurde. Alles halb so schlimm also ;o
|
|
|
|
|
|
|
 |
|
 |
17.02.2013 - 10:12 Uhr |
|
|
|
Schönen Moin,
es klappt jetzt eigentlich so ziemlich alles, bis auf eine Kleinigkeit.
Wenn ich z,B jemand aus der CH anklicke und dann auf die Karte gehe,
komme ich zwar auch in der CH an aber nicht bei der richtigen PLZ bzw. Ort.
Beispiel: User hat die PLZ 6000 angegeben = Luzern, dann lande ich bei der
PLZ 3850 Ringgenberg, bei den deutschen PLZ gehen nur die Großstädte
richtig, ansonsten, bei kleinen Orten verrutscht das auch um eine Region.
mfg
micha
|
|
|
|
|
|
|
 |
|
 |
17.02.2013 - 10:33 Uhr |
|
|
|
Das ist, weil GoogleMaps das so verarbeitet. Wenn GoogleMaps nur die PLZ und das Land bekommt, kann es vorkommen, das die genaue Position nicht genau bestimmt wird.
Im Falle, das mehre Profilfelder (z.B. Wohnort, PLZ, Region, Bundesland / Kanton und was noch alles) zusammen wirken sollen, müsste das ganze nochmal etwas überarbeitet werden. Kann auch gerade nicht sagen, um wieviel ^^"
|
|
|
|
|
|
|
 |
|
 |
20.02.2013 - 18:19 Uhr |
|
|
|
Hallo k!r!ka,
ok, wenn du Muse und Zeit hast, wäre das ganz nett, damit es fertig wäre und wir zu neuen Ufern könnten
mfg
micha
|
|
|
|
|
|
|
 |
|
 |
21.02.2013 - 20:47 Uhr |
|
|
|
Hab den Post auf Seite eins entsprechend editiert. Ich erklär in beiden Posts (diesen + den auf Seite eins) wie was funktioniert.
Es gibt im Grunde nur die Änderung, das nun weitere Profilfelder greifen können. Einfach Profilfelder erstellen, die im Namen wohnort, adress oder land enthalten. Groß- und Kleinschreibung sind natürlich wieder irrelevant. Sofern also die User die Möglichkeit haben, jene Profilfelder auszufüllen, werden die zur GoogleMaps-Suche hinzugefügt und entsprechend angezeigt.
Hier die Änderungen, die du machen müsstest, wenn noch der alte Code enthalten ist:
- pkinc/public/userinfo.php
- Öffne o.g. Datei und suche dies:
| 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:
| PHP-Quelltext # pkGoogleMaps
$pkGM_loopName =
$pkGM_name =
$pkGM_content =NULL;
# pkGoogleMaps | |
- Suche weiter (alter Code von Seite 1):
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 | | PHP-Quelltext # pkGoogleMaps
if (stristr($fieldname, 'plz') && intval($fieldcontent) > 0 && trim($userinfo['user_country'])!=='def' && trim($userinfo['user_country'])!=='oth')
{
$myField_plz =intval($fieldcontent);
$myField_plz .=',+'.$info_country;
$myField_googleMapEx='http://maps.google.de/maps?q='.$myField_plz.'&hnear='.$myField_plz;
$myField_googleMap ='http://maps.google.de/maps?q='.$myField_plz.'&hnear='.$myField_plz.'&output=embed';
$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("'.$myField_googleMap.'", "pkGoogleMaps", "toolbar=no,menubar=no,location=no,scrollbars=no,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="'.$myField_googleMapEx.'">große Karte anzeigen</a> ]</span>
<div id="pkGoogleMaps">
<iframe src="'.$myField_googleMap.'"></iframe>
</div>
</noscript>
';
}
# pkGoogleMaps | |  |
Und ersetze es hiermit:
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
| 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_loopName, pkGetLang('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 | |  |
Wenn (wieder) was nicht funktioniert, oder zu unverständlich ist (kann ja immer passieren ^^""), einfach meckern
|
|
|
|
|
|
|
 |
|
 |
22.02.2013 - 09:05 Uhr |
|
|
|
Moin k!r!ka,
alles eingebaut nach Anleitung.
Leider erscheint kein Link hinter der PLZ.
Also kann ich nicht prüfen ob der Rest nun auch geht.
Du hattest ja nachträglich vor ein paar Tagen den ersten Code noch mal mit mir geändert.
Zitat
Es lag nicht direkt an den Code, eher an die Ausgabe des Herkunftslandes, das mit einen Bild bestückt war, wo natürlich der Javascript-Code Probleme hatte und entsprechend nicht ausführen konnte, wodurch kein Link angezeigt wurde. Alles halb so schlimm also ;o
|
Alter Code:
Hier klicken zum aufklappen
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 | | PHP-Quelltext
# pkGoogleMaps
if (stristr($fieldname, 'plz') && intval($fieldcontent) > 0 && trim($userinfo['user_country'])!=='def' && trim($userinfo['user_country'])!=='oth')
{
$myField_plz =intval($fieldcontent);
$myField_plz .=',+'.preg_replace('# <img border="0" src="(.*)">#iU', NULL, $info_country);
$myField_googleMapEx='http://maps.google.de/maps?q='.$myField_plz.'&hnear='.$myField_plz;
$myField_googleMap ='http://maps.google.de/maps?q='.$myField_plz.'&hnear='.$myField_plz.'&output=embed';
$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("'.$myField_googleMap.'", "pkGoogleMaps", "toolbar=no,menubar=no,location=no,scrollbars=no,resizable=no,status=no,width=700,height=700");
}
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="'.$myField_googleMapEx.'">große Karte anzeigen</a> ]</span>
<div id="pkGoogleMaps">
<iframe src="'.$myField_googleMap.'"></iframe>
</div>
</noscript>
';
}
# pkGoogleMaps
| |  |
Ich nehm nun an, das es genau wieder daran liegt.
mfg
Micha
|
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von neumicha - 22.02.2013 - 09:08 Uhr |
|
|
|
|
|
|
|
 |
|
 |
22.02.2013 - 14:21 Uhr |
|
|
|
In deinen Fall müsstest du einfach folgendes tun:
- Suche das:
| PHP-Quelltext $pkGM_loopName .=',+'.$info_country; | |
Und mache daraus das:
| PHP-Quelltext #$pkGM_loopName .=',+'.$info_country;
$pkGM_loopName .=',+'.preg_replace('# <img(.*)>#iU', NULL, $info_country); | |
|
|
|
|
|
|
|
 |
|
 |
22.02.2013 - 18:07 Uhr |
|
|
|
Hallo,
nutzt auch nichts.
Ich glaube, es geht hierum:
Wenn ich diesen Code verwende kommt der Button [Karte anzeigen]
Aber wenn ich auf den Button klicke, kommt nur ein leeres "Blank" Fenster
| PHP-Quelltext
<script type="text/javascript" language="javascript">
function pkGoogleMaps()
{
window.open("'.$myField_googleMap.'", "pkGoogleMaps", "toolbar=no,menubar=no,location=no,scrollbars=no,resizable=no,status=no,width=700,height=700");
}
document.write(\'<span class="small">[ <a class="small" onClick="pkGoogleMaps()">Karte anzeigen</a> ]</span>\');
</script>
| |
Wenn ich diesen benutze ist kein Button da.
| PHP-Quelltext
<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>
| |
mfg
micha
|
|
|
|
|
|
|
 |
|
 |
22.02.2013 - 18:22 Uhr |
|
|
|
Ist ja auch richtig, das der Button [ Karte anzeigen ] erscheint, wenn du den alten Code noch nutzt. Denn dort wird noch die alte Variable für den Link genutzt - ist auch richtig, das dann eine leere Seite erscheint, da eben jene alte Variable leer ist.
Das ist die alte Variable:
$myField_googleMap
Die neue ist so:
$pkGM_frame
Wenn du deine geposteten Codes vergleichst, ist nur das anders. Und der Grund, warum der Button nicht erscheint, ist im Grunde ganz einfach:
Im Code wird für das öffnen des Popups der Link mit Gänsefüschen ( ") maskiert. Dadurch, das du die Länder mit Bildern bestückt hast, welche via. HTML-Code eingefügt werden, die auch mit Gänsefüschen maskiert sind, gibt es Probleme. Denn diese "doppelte" Maskierung hebelt den eigentlichen Link aus und verursacht einen Fehler - kein Button erscheint.
Naja, wie dem auch sei, das die obige Änderung nichts bewirkt, ist komisch. Aber probier mal das:
- Suche das:
| PHP-Quelltext $fieldname =$pkGM_name;
$fieldcontent =$pkGM_content; | |
Und füge darunter das ein:
| PHP-Quelltext $pkGM_loopName =addslashes($pkGM_loopName); | |
|
|
|
|
|
|
|
 |
|
|
 |
Ähnliche Themen |
|
|
|
|
|
|
|
|