2012-12-09 47 views
-2

在我的Api中,我必須在地圖上顯示幾個地方的經度和緯度從數據庫中提取,我在php中工作,這將如何完成??需要顯示基於經度和緯度的數據庫上的地圖

+2

我曾面臨在應用一些問題,我已經發布了同樣在這裏,但我不知道爲什麼這個問題已被標記爲封閉或不真實,你們(@馬塞洛,喬斯林,webarto,tereško,PeeHaa)請告訴我你爲什麼標記爲封閉,而不是像其他人一樣給出解決方案? – Ekky

+2

@Jocelyn .................... – Ekky

+2

@webarto ............. – Ekky

回答

4

Google tutorial非常好。但是,由於它使用了不推薦的mysql_擴展,我修改了它以使用PDO。查看地圖HERE

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

// Start XML file, create parent node 
$dom = new DOMDocument("1.0"); 
$node = $dom->createElement("markers"); 
$parnode = $dom->appendChild($node); 

// Opens a connection to a MySQL server 
$dbh = new PDO("mysql:host=$host;dbname=$database", $username, $password); 
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
try { 
    $stmt = $dbh->query('SELECT * FROM markers WHERE 1'); 
    // setting the fetch mode 
    $stmt->setFetchMode(PDO::FETCH_ASSOC); 
    header("Content-type: text/xml"); 
    // Iterate through the rows, adding XML nodes for each 
    while($row = $stmt->fetch()) { 
     // ADD TO XML DOCUMENT NODE 
     $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("type", $row['type']); 
    } 
echo $dom->saveXML(); 
} 
catch(PDOException $e) { 
    echo "Error .". $e->getMessage() ;// Remove or modify after testing 
    file_put_contents('PDOErrors.txt',date('[Y-m-d H:i:s]').", phpsqlajax_genxml.php , ". $e->getMessage()."\r\n", FILE_APPEND); 
} 
//Close the connection 
$dbh = null; 
?> 

您可以查看XML生成HERE

phpsqlajax_dbinfo.php

<? 
$username="username"; 
$password="password"; 
$database="username-databaseName"; 
?> 
+0

感謝您爲零這個答案准備使用:) –

+0

正是我在找的。 @david strachan – Dymond

+0

其中是phpsqlajax_dbinfo.php文件@david strachan – Guru

相關問題