Добавление маркеров на карту Google: WordPress & XML - PullRequest
2 голосов
/ 04 октября 2011

Я следую этому учебнику по размещению маркеров на карте 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 Ответ

0 голосов
/ 08 октября 2011

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

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

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

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

Приветствия

...