Extrahieren von Adresse aus benutzerdefinierten Post über Javascript für Google Maps API

Ich bin ein Thema mit benutzerdefinierten Posts erstellt, die auf eine Google Map mit Ortsmarken ausgibt. Benutzer erstellen benutzerdefinierte Post-User und fügen Street-Adressen hinzu, die mit der Google Map API v3 geokodiert werden und ein Marker auf einer Google Map platziert wird.

Ich bin relativ neu im Codieren und Entcasting von benutzerdefinierten WordPress-Themes, also versuche ich, meinen Kopf darauf zu legen, wie man Informationen aus jedem benutzerdefinierten Post in JavaScript für das Google Maps API holt.

Kann mir bitte jemand erklären, wie das gemacht wird?

Danke, AME

Solutions Collecting From Web of "Extrahieren von Adresse aus benutzerdefinierten Post über Javascript für Google Maps API"

Nun, das ist irgendwie einfach ..

Die Google-Map API benötigt ein Format wie Your Street 123, 54321 Your City

Angenommen, Sie haben Ihre Daten so:

 
Your Street 123
54321
Your City

Angenommen, Sie verwenden jQuery:

 (function($){ $.fn.create_gmap_address = function() { var street = $('#street').html(); var zip = $('#zip').html(); var city = $('#city').html(); return street + ',' + zip + ' ' + city; } })(jQuery); 

Und dann in Ihrem Karten-API-Code:

 geocoder.geocode( { 'address': $.create_gmap_address() }, function(results, status) { // your maps code 

Lösung 2

Oder Sie könnten natürlich alle diese Daten über PHP erhalten und dann in eine globale JS-Variable speichern (vielleicht der bessere Weg).

 function set_address_js_var() { if ( 'your_post_type' == get_post_type() ) { // Assuming you are using meta fields to store the address $postMeta = get_post_meta(get_the_ID()); return $postMeta['sreet'] . ',' . $postMeta['zip'] . ' ' . $postMeta['city']; } } function load_fe_scripts() { wp_enqueue_script( 'global-js-var', get_template_directory_uri() . '/js/my_file.js' ); $localize_array = array( 'google_maps_address' => set_address_js_var() ); wp_localize_script( 'global-js-var', 'my_global', $localize_array ); } add_action('wp_enqueue_scripts', 'load_fe_scripts'); 

Sie können jetzt auf die Variable in Ihrer JS-Datei mit my_global.google_maps_address zugreifen