0

私はGoogleからの2つのチュートリアルに従っています:

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

最初のチュートリアルは正しく機能しています。いくつかのデータベースアドレスをジオコーディングし、lat/lngの結果を保存しています。

2番目のチュートリアルで、結果を呼び出してマップを作成するのに少し問題があります。まず、これらは何千もの住所をジオコーディングして地図を作成するために従うべき正しいチュートリアルですか?

ページの一番下までチュートリアルを実行しましたが、いくつかのエラーがあります。最初のエラーは次のとおりです。

警告:ヘッダー情報を変更できません-/home/medicom/public_html/mapping/wp-の(/home/medicom/public_html/mapping/wp-content/themes/default/header.php:8で開始された出力)によって既に送信されたヘッダー134行目のcontent/themes / default / header.php

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()ますか?

4

2 に答える 2

0

header()コンテンツを印刷する前に、関数を呼び出す必要があります。

echoしたがって、を呼び出す前に、何もしていないことを確認してくださいheader

于 2011-11-07T09:54:20.857 に答える
0

私はちょうど遭遇し、この問題を修正しました!

xmlファイル(http://bit.ly/uVTqoh)をレンダリングするチュートリアルのphpファイルは、それ自体である必要があります。

チュートリアルのスニペット以外はありません。htmlと一緒にそれをスロットに入れようとしないでください。header生のhttpヘッダーをクライアントに送信します。何かがすでに定義されている場合は、ブラウザーが感じなければならない混乱を確認できます。

次に、GDownloadURL関数で.phpファイルを参照すると、そのスクリプトが出力するxmlから情報が取得されます。掘る?

于 2011-11-14T21:56:23.603 に答える