#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 Ставрос, спасибо за ваше сообщение. У меня это работает.