私のウェブページのためにいくつかのマーカーを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に名前を与える必要があり
はあなたがPHPを呼び出すために使用するAjaxコードを共有することができますか? – toto