2012-03-28 15 views
0

私のウェブページのためにいくつかのマーカーをGoogleマップに読み込もうとしています。json phpからgoogleマップにマーカーをロード

私はDBにすべてのマーカーを持っており、私はPHPスクリプトでそれらを取る。このスクリプトは、DB内のすべてのデータをjsonとして出力します。このような何か:

<?php 
    require_once("phpsqlajax_dbinfo.php"); //info for DB connection 


    // 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 coordY, coordX FROM contenedor WHERE peso = 12"; 
    $result = mysql_query($query); 
    if (!$result) { 
    die('Invalid query: ' . mysql_error()); 
    } 



    $x = 0; 
    while ($row = @mysql_fetch_assoc($result)){ 
    $data[$x] = array("lat" => $row['coordY'], "lng" => $row['coordX']); 
    $x++; 
} 
echo json_encode($data); 
?> 

私のJSONファイルは次のようになります。 [{ "LAT": "A"、 "LNG": "B"}、{ "緯度": "C"、 "LNG ":" D "}、{" lat ":" E "、" lng ":" F "}] //文字は緯度と経度が...

その後、他のファイル)私は次のようなマップを作成します。

var map = new GMap2(document.getElementById("map_canvas")); 
    map.setCenter(new GLatLng(X, Y), 13); //X and Y are my lat and long 
    map.addControl(new GSmallMapControl()); 
    map.addControl(new GMapTypeControl()); 
... 

すべてのマーカーをロードするためのaddMarketという関数を作成します。しかし、私はjavascriptからそのファイルから情報を得ることができません。 Iしかし、このような何か:

for (var i = 0;i < file.length; i += 1) { 
    var lat = file[i].lat; 
    var lon = file[i].lng; 
    addMarker(lat,lon); 
}; 

function addMarker(lat,lng){ 
var latlng = new google.maps.LatLng(lat,lng); 
var marker = new google.maps.Marker({position: latlng, map: map}); 

しかし、私は値を読み取るか、配列にそれらのすべてを取得する方法Kowはありません。

その他の質問:私はマップを見ているときにマーカーをアップロードすることは可能ですか?たとえば、私のマーカーの1つが監視中に変化した場合、私は新しい値(例えば、色の変更..)を取得したいと思います。私はaddMarker関数を関数内に持っています。

ありがとうございました!あなたが例えばJS、によってそれがアクセスできるようにJSONに名前を与える必要があり

+0

はあなたがPHPを呼び出すために使用するAjaxコードを共有することができますか? – toto

答えて

0

echo 'file='.json_encode($data),';'; 
+0

PHPファイルを呼び出しますか?コードはPHPファイルの中にあり、呼び出す必要はありません。 –

+0

いいえ、私はGoogleマップを作成する関数を持っているJavaScriptの内部を意味します。 – user1298272

関連する問題