Добавление маркеров на карту Google: WordPress и XML

#xml #wordpress #google-maps #google-maps-markers

#xml #wordpress #google-карты #google-карты-маркеры

Вопрос:

Я следую этому руководству по размещению маркеров на карте Google с использованием PHP и MySQL. Я адаптирую его для работы в плагине WordPress Shortcode. Я построил карту и извлек длинные длины из базы данных. У меня возникли проблемы с выяснением, как заставить WordPress выводить XML (который затем будет использоваться javascript для размещения маркеров). Это фрагмент моего плагина:

     $dom = new DOMDocument('1.0');
    $node = $dom->createElement('markers');
    $parnode = $dom->appendChild($node);

    $csf_data = $wpdb->get_results($wpdb->prepare("SELECT * FROM my_table"));             


    foreach($csf_data as $incident) {
        $node = $dom->createElement('marker');
        $newnode =  $parnode->appendChild($node);
        $newnode->setAttribute("lat", $incident->latitude);
        $newnode->setAttribute("lng", $incident->longitude);
    }


    echo $dom->saveXML;
  

Я не уверен, что мне нужно сделать, чтобы заставить это работать.

  • Как мне определить, был ли создан XML? В руководстве говорится, что вызовите PHP-скрипт в браузере. В моем случае приведенный выше PHP является частью основного файла плагина.

  • После вывода XML-файла, как мне его загрузить? У меня нет URL-адреса, на который можно указать? Как мне вывести XML в URL-адрес? Функция, используемая для загрузки XML-файла, downloadUrl(url,callback) принимает URL-адрес в качестве параметра.

Есть предложения?

Спасибо.

Ответ №1:

Я думаю, вы должны решать проблемы одну за другой.

  • Сначала убедитесь, что вы создали единую страницу php, которая запрашивает вашу базу данных mysql, извлекает записи и отображает их в формате xml или json (предпочтительно json).

  • Затем создайте страницу javascript, которая вызывает ajax-вызов URL-адреса страницы php, описанной выше (с помощью javascript или jquery — предпочтительно jquery, если у вас нет опыта работы с javascript -), и после того, как она заработает, поместите ее в свой плагин.Таким образом, вы можете быть уверены, что у вас есть рабочий код на всех этапах.

Если вам нужна дополнительная помощь, пожалуйста, опубликуйте какой-нибудь конкретный пример кода, скажем, в jsfiddle, чтобы мы могли его изучить.

Приветствия

Комментарии:

1. Привет, @Argiropoukos Ставрос, спасибо за ваше сообщение. У меня это работает.