ERLEDIGT
NEIN
NEIN
ANTWORTEN
5
5
ZUGRIFFE
489
489
EMPFEHLEN
-
Hallo liebe Leute

Ich möchte auf einer Website eine Google-Karte einbinden, auf der automatisch die Koordinaten eines bestimmten Ortes eingebunden und angezeigt werden. Dazu habe ich mir einen Google-Api-Key besorgt und den entsprechenden Code eingebunden. Das klappt soweit auch ganz gut, nur möchte ich die Koordinaten nicht per Hand eingeben, sondern via Custom Field (Wordpress) automatisch holen lassen.
Das Problem ist allerdings, dass der Google-Code Java-Script ist und der Befehl für die Custom Fields PHP. Anscheinend kann man innerhalb von Java Script kein PHP einbinden, jedenfalls hat das nicht geklappt.
Gibt es nun eine Möglichkeit, einfach den JS-Code von PHP umschließen zu lassen? Ich hatte das auch schon probiert, aber nur Fehler ausgegeben bekommen, da ich dabei anscheinend was falsch gemacht habe. Meine Kentnisse in JS und PHP sind auch sehr gering.
So sieht der Google-Code aus:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
<script type="text/javascript"> function initialize() { var map = new GMap2(document.getElementById("map_canvas")); map.setCenter(new GLatLng(12.3456789123456, 12.3456789123456), 13); var map = new GMap2(document.getElementById("map_canvas")); map.setCenter(new GLatLng(12.3456789123456, 12.3456789123456), 13); map.openInfoWindow(map.getCenter(), document.createTextNode("Text hier")); var point = new GLatLng(12.3456789123456, 12.3456789123456); map.addOverlay(new GMarker(point)); } </script>
Der Befehl zum Aufruf eines Custom Fields lautet:
Code :1
<?php echo get_post_meta($post->ID, 'lat', true); ?>
Code :1
<?php echo get_post_meta($post->ID, 'lng', true); ?>
Dieses Custom Field soll nun jeweils an die Stelle kommen, wo jetzt "12.3456789123456" steht.
Könnt ihr mir bitte bei der Umsetzung helfen? Das wäre wirklich super!
Vielen Dank schon im Voraus!
-
Hi,
soweit ich weiß brauchst du keinen Google-Api-Key mehr, das war für die API V2 noch nötig, seit der Version 3 ist es aber nicht mehr nötig. Mehr dazu HIER
Dann zu deiner eigentlichen Frage:
Es ist mögliche mit php ganz normalen Javascript-Code zu erzeugen, in deinem Beispiel einfach:
PHP-Code:var point = new GLatLng(<?php echo get_post_meta($post->ID, 'lat', true); ?>, <?php echo get_post_meta($post->ID, 'lng', true); ?>);
-
Hi
Warum machst du beim Javascript alles mehrfach?
Die ersten zwei Codezeilen sind mit 3/4 identisch,
und das GLatLng-Objekt gibts gleich dreifach.
einfach so:
und die .html-Datei in .php umbenennen.Code javascript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
<script type="text/javascript"> function initialize() { var map = new GMap2(document.getElementById("map_canvas")); <?php echo 'map.setCenter(new GLatLng('.get_post_meta($post->ID, 'lat', true).', '.get_post_meta($post->ID, 'lat', true).'), 13);'; ?> var map = new GMap2(document.getElementById("map_canvas")); <?php echo 'map.setCenter(new GLatLng('.get_post_meta($post->ID, 'lat', true).', '.get_post_meta($post->ID, 'lat', true).'), 13);'; ?> map.openInfoWindow(map.getCenter(), document.createTextNode("Text hier")); <?php echo 'var point = new GLatLng('.get_post_meta($post->ID, 'lat', true).', '.get_post_meta($post->ID, 'lat', true).');'; ?> map.addOverlay(new GMarker(point)); } </script>
GrußNetiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
"Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?
-
Oh super, das hat geklappt! Da hatte ich wohl einen kleinen Fehler irgendwo eingebaut. Nun funktioniert es
Danke!
Habt ihr zufällig noch eine Idee, wie ich in das Info-Fenster einen Umbruch einfügen kann?
Der Code dafür:
Code :1 2 3
map.openInfoWindow(map.getCenter(), document.createTextNode("<?php echo get_post_meta($post->ID, 'store', true); ?><?php echo get_post_meta($post->ID, 'street', true); ?>"));
Zwischen den beiden echos möchte ich einen Umbruch einfügen, habs schon mit "<br>", <br>, '<br>', + '<br>' etc. probiert, aber entweder passiert nichts oder er gibt mir das <br> lediglich als Text aus. Vielleicht wisst ihr ja, wie das geht? Danke
-
19.12.11 13:03 #5Code :
1
\r\n
sollte Abhilfe schaffenDie Schweine von heute sind unsere Schnitzel von morgen!
-
Hm, wie muss ich das denn integrieren, damit es funktioniert? Habe es unter anderem so versucht, aber ohne Erfolg:
Code :1
document.createTextNode("<?php echo get_post_meta($post->ID, 'store', true); ?>\r\n<?php echo get_post_meta($post->ID, 'street', true); ?>"));
Code :1
document.createTextNode("<?php echo get_post_meta($post->ID, 'store', true); ?>"+"\r\n"+"<?php echo get_post_meta($post->ID, 'street', true); ?>"));
Ähnliche Themen
-
Google Maps "ReverseGeocoding"-Bsp. auf mehrere Maps anwenden
Von jbender im Forum Javascript & AjaxAntworten: 2Letzter Beitrag: 30.03.10, 21:06 -
Google Maps coder (Java)
Von konstapel im Forum Stellenangebote (entgeltlich)Antworten: 3Letzter Beitrag: 05.03.10, 02:11 -
Java Server faces und Google-Maps
Von schlumsch im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 0Letzter Beitrag: 13.08.08, 11:32 -
google maps api: java <--> javascript
Von inspector_71 im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 0Letzter Beitrag: 19.02.08, 12:48 -
Google Maps Einsatz im Community Script
Von Hannibal im Forum PHPAntworten: 10Letzter Beitrag: 29.07.07, 23:05





Zitieren


Login






[PHP][Snippet] Array zu XML konvertieren