Уникальная карта Google для каждого сообщения Wordpress.Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Уникальная карта Google для каждого сообщения Wordpress.

Сообщение Anonymous »

Я пытаюсь встроить уникальную динамическую карту Google, используя API для каждого сообщения Wordpress, которая опирается на метатермины местоположения и использует геолокацию для сопоставления этих условий для размещения маркера. Я также выделяю границу страны/штата/провинции, используя загруженный файл JSON с картографическими данными для рассматриваемой страны/региона. Весь код находится в моем файле function.php в виде короткого кода, который я вставил в свои шаблоны сообщений. Код отлично работает в одном сообщении, но когда я пытаюсь открыть другое сообщение, я получаю ошибки инициализации, и на странице не появляется карта, не говоря уже о получении данных карты и рисовании границы на карте. Это код, который я сейчас использую, этот код Functions.php и файл Maps.js:
functions.php:

Код: Выделить всё

// Enqueue maps.js
function enqueue_maps_js() {
wp_enqueue_script('maps-js', get_stylesheet_directory_uri() . '/js/maps.js', array(), null, true);
}
add_action('wp_enqueue_scripts', 'enqueue_maps_js');

// Enqueue Google Maps API
function enqueue_google_maps_api() {
$google_api_key = GOOGLE_MAPS_API_KEY;
wp_enqueue_script('google-maps-api', "https://maps.googleapis.com/maps/api/js?key=$google_api_key&libraries=geometry,marker&callback=initMaps&loading=async", array('maps-js'), null, true);
}
add_action('wp_footer', 'enqueue_google_maps_api');

// Google Map Geocoding Function shortcode able to pin multiple countries/provinces/states on a single map
function display_country_map() {
if (!is_singular('post')) {
return '';
}

global $post;
$terms = wp_get_post_terms($post->ID, 'country');
if (empty($terms)) {
return 'No countries associated with this post.';
}

$country = '';
$region = '';

foreach ($terms as $term) {
if ($term->parent == 0) {
$country = $term->name;
} else {
$region = $term->name;
}
}

// Generate a unique ID for the map container
$unique_id = uniqid('map_');
// Google Map ID
$map_id = 'f4997d02b8b51ae0';

ob_start();
?>
Project Locations
" class="map-container" data-country="" data-region="" data-map-id="" style="height: 500px; width: 100%;">

window.mapContainerId = '';
window.country = '';
window.region = '';
window.mapId = '';



Подробнее здесь: [url]https://stackoverflow.com/questions/78514530/unique-google-map-for-each-wordpress-post[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»