GOOGLE APIでjavascriptを使用しています。これは、ポイントをクリックして手動で最も近い通りにスナップすることで機能します。(http://econym.org.uk/gmap/snap.htm)からの例
ポイントを最も近い通りにスナップするために、このことを介してフィードしたい座標のデータベースがあります。PHPを使用していますが、mysqlPHP変数をjavascriptと「対話」させることができません。
ほぼリアルタイムに近づけて、URL変数を読み取り、それらをデータベースに追加してから、Googleマップの道路にスナップさせます。
URL変数から手動で行うことはできますが、PHPとデータベース座標をJavaScriptのGoogleAPIスナップトゥロード関数で読み取ることができません。
//Fetching from your database table.
$query = "SELECT DISTINCT * FROM $usertable";
$result = mysql_query($query);
if ($result) {
while($row = mysql_fetch_array($result)) {
$name = $row["$latitude_db"];
$name1 = $row["$longitude_db"];
echo "var dirn = new google.maps.DirectionsService();";
echo "var map;";
echo "
function initialize() {
var center = new google.maps.LatLng(40.04, -79.23);
var myOptions = {
zoom:10,
mapTypeId: google.maps.MapTypeId.ROADMAP,
center: center
}
";
echo "map = new google.maps.Map(document.getElementById('map_canvas'), myOptions);";
echo "var urllat = getUrlVars()['lat'];";
echo "var urllong = getUrlVars()['long'];";
echo "var combo = new google.maps.LatLng('$name', '$name1');";
echo "alert($name1);";
echo "var request = {";
echo "origin: combo,";
echo "destination: combo,";
echo "travelMode: google.maps.DirectionsTravelMode.DRIVING";
echo "};";
echo "dirn.route(request, function(response, status) {";
echo "if (status == google.maps.DirectionsStatus.OK) {";
echo " if(response.routes && response.routes.length > 0){";
echo " route = response.routes[0];";
echo " if(route.overview_path && route.overview_path.length > 0)";
echo "{";
echo "pos = route.overview_path[0];";
echo "new google.maps.Marker({";
echo "position: pos,";
echo "map: map";
echo "});";
echo "}";
echo "}";
echo "}";
echo "});";
echo "}";
}
}
}
echo "</script>";
このコードはループ内またはページの読み込み中です...