2

こんにちは、Google でストア ロケーターの作成のチュートリアルを行っています。こちらをご覧ください。

https://developers.google.com/maps/articles/phpsqlsearch_v3#findnearsql

私のコードは

    // Select all the rows in the markers table
$query = sprintf("SELECT address, name, lat, lng, ( 3959 * acos( cos( radians('%s') ) * cos( radians( lat ) ) * cos( radians( lng ) - radians('%s') ) + sin( radians('%s') ) * sin( radians( lat ) ) ) ) AS distance FROM markers HAVING distance < '%s' ORDER BY distance LIMIT 0 , 20",
  mysql_real_escape_string("37.414832"),
  mysql_real_escape_string("-122.024857"),
  mysql_real_escape_string("37.414832"),
  mysql_real_escape_string("10"));


$result = mysql_query($sql);

if (!$result) 
{
  die('Invalid query: ' . mysql_error());
}
else
{
    echo 'success';
}

// Start XML file, echo parent node
echo "<markers>\n";
// Iterate through the rows, printing XML nodes for each
while ($row = @mysql_fetch_assoc($result)){
  $node = $dom->createElement("marker");
  $newnode = $parnode->appendChild($node);
  $newnode->setAttribute("name", $row['name']);
  $newnode->setAttribute("address", $row['address']);
  $newnode->setAttribute("lat", $row['lat']);
  $newnode->setAttribute("lng", $row['lng']);
  $newnode->setAttribute("distance", $row['distance']);
}


// End XML file
echo "</markers>\n";
echo $dom->saveXML();

ただし、スクリプトを実行するとエラーメッセージが表示されます

このページには次のエラーが含まれています:
行 1、列 1 のエラー: ドキュメントが空です
以下は、最初のエラーまでのページのレンダリングです。

誰かが私のコードに何か問題があるのを見ることができますか?

4

1 に答える 1

1

$dom要素を作成しようとしているオブジェクトは、'while' ループの前に存在しません。最初にその DOMDocument オブジェクトを作成し<markers>、そのオブジェクトに rootnode を含めます。

于 2012-05-17T22:58:38.317 に答える