Карта Google: ошибки при отображении следующих руководств по сохранению результатов геокодирования и обратного вызова для создания карты - PullRequest
0 голосов
/ 07 ноября 2011

Я следую двум учебникам от Google:

http://code.google.com/apis/maps/articles/phpsqlgeocode.html http://code.google.com/apis/maps/articles/phpsqlajax_v3.html#createmap

У меня правильно работает первый учебник, он геокодирует несколько адресов базы данных и сохраняет последние/ lng results.

У меня небольшие проблемы со вторым уроком: вызов результатов и создание карты.Во-первых, правильны ли эти уроки для геокодирования тысяч адресов и создания карты?

Я проследовал до урока вниз, но у меня есть несколько ошибок, первая из которых:

Предупреждение: невозможно изменить информацию заголовка - заголовки уже отправлены (вывод начался с /home/medicom/public_html/mapping/wp-content/themes/default/header.php:8) в / home /medicom / public_html / mapping / wp-content / themes / default / header.php в строке 134

Строка 134:

header("Content-type: text/xml");

// Start XML file, echo parent node
echo '<markers>';

// Iterate through the rows, printing XML nodes for each
while ($row = @mysql_fetch_assoc($result)){
  // ADD TO XML DOCUMENT NODE
  echo '<marker ';
  echo 'name="' . parseToXML($row['name']) . '" ';
  echo 'address="' . parseToXML($row['address']) . '" ';
  echo 'lat="' . $row['lat'] . '" ';
  echo 'lng="' . $row['lng'] . '" ';
  echo 'type="' . $row['type'] . '" ';
  echo '/>';
}

// End XML file
echo '</markers>';

Как я могу это исправить?Страница, над которой я работаю, это http://www.mediwales.com/mapping

Обновление:

Это похоже на пробломатический бит кода:

<?php
require("phpsqlgeocode_dbinfo.php");

function parseToXML($htmlStr) 
{ 
$xmlStr=str_replace('<','&lt;',$htmlStr); 
$xmlStr=str_replace('>','&gt;',$xmlStr); 
$xmlStr=str_replace('"','&quot;',$xmlStr); 
$xmlStr=str_replace("'",'&#39;',$xmlStr); 
$xmlStr=str_replace("&",'&amp;',$xmlStr); 
return $xmlStr; 
} 

// Opens a connection to a MySQL server
$connection=mysql_connect (localhost, $username, $password);
if (!$connection) {
  die('Not connected : ' . mysql_error());
}

// Set the active MySQL database
$db_selected = mysql_select_db($database, $connection);
if (!$db_selected) {
  die ('Can\'t use db : ' . mysql_error());
}

// Select all the rows in the markers table
$query = "SELECT * FROM _health WHERE 1";
$result = mysql_query($query);
if (!$result) {
  die('Invalid query: ' . mysql_error());
}

header("Content-type: text/xml");

// Start XML file, echo parent node
echo '<markers>';

// Iterate through the rows, printing XML nodes for each
while ($row = @mysql_fetch_assoc($result)){
  // ADD TO XML DOCUMENT NODE
  echo '<marker ';
  echo 'name="' . parseToXML($row['name']) . '" ';
  echo 'address="' . parseToXML($row['address']) . '" ';
  echo 'lat="' . $row['lat'] . '" ';
  echo 'lng="' . $row['lng'] . '" ';
  echo 'type="' . $row['type'] . '" ';
  echo '/>';
}

// End XML file
echo '</markers>';

?>

Есть ли альтернативаheader() выше?

Ответы [ 2 ]

0 голосов
/ 15 ноября 2011

Я просто наткнулся и исправил эту проблему!

Файл php в руководстве, который отображает файл xml (http://bit.ly/uVTqoh) должен быть его собственным.

Там не должно быть ничего, кроме этого фрагмента из учебника; не пытайтесь вставить это рядом с любым HTML. header отправляет необработанный http-заголовок клиенту, и, если что-то уже определено, вы можете увидеть спутанность сознания, которую должен чувствовать браузер.

Затем, когда вы ссылаетесь на файл .php в функции GDownloadURL, он извлекает информацию из xml, который выводит этот скрипт. Dig

0 голосов
/ 07 ноября 2011

header() функция должна быть вызвана до того, как будет распечатано любое содержимое.

Итак, убедитесь, что вы ничего не echo делаете, прежде чем вызывать header.

...