それで、データベースからx座標とy座標を取得し、それらをGoogleマップに表示する方法について知らされた後、私は仕事に行きました。したがって、mySQLデータベースとの接続を確立するには、次のように記述します。
<?php
$server = '132.3.2.1.';
$username = 'you';
$password = 'notyou';
$database = 'youapp';
$dsn = "mysql:host=$server;dbname=$database";
(This is all made up)
データベースから座標を取得してJSON文字列に入れるために、次のように記述しました。
<?php
include 'config.php';
try {
$db = new PDO($dsn, $username, $password);
$db->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
$sth = $db->query("SELECT * FROM youapp");
$youapp = $sth->fetchAll();
echo json_encode( $youapp );
} catch (Exception $e) {
echo $e->getMessage();
}
今までコーディングしてきたことが正しいと確信しています。しかし、Googleマップの部分についてはよくわかりません。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta name="viewport" content="width=device-width; height=device-height; user-scalable=no" />
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<title>Beer Me</title>
<link rel="stylesheet" href="/master.css" type="text/css" media="screen" />
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script>
var map;
function init() {
var mapOptions = {
zoom: 13,
center: center,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
makeRequest('get_locations.php', function(data) {
var data = JSON.parse(data.responseText);
for (var i = 0; i < data.length; i++) {
displayLocation(data[i]);
}
});
}
function makeRequest(url, callback) {
var request;
if (window.XMLHttpRequest) {
request = new XMLHttpRequest();
// IE7+, Firefox, Chrome, Opera, Safari
} else {
request = new ActiveXObject("Microsoft.XMLHTTP");
// IE6, IE5
}
request.onreadystatechange = function() {
if (request.readyState == 4 && request.status == 200) {
callback(request);
}
}
request.open("GET", url, true);
request.send();
}
</script>
</head>
<body onload="init();">
<div id="map_canvas" style="width:400px; height: 400px;"></div>
</body>
</html>
したがって、この関数makerequest
は標準のAjax呼び出しです。しかし、Googleマップで結果を表示する方法がわかりません。makerequest
誰かが私のコードを見て私のデータベースとの接続を確立し、Googleマップでの結果を表示する方法についてアドバイスや何かを与えることができれば、それは大いにありがたいです。