Developer toolでわかることの例:
<!DOCTYPE html>
<meta charset="utf-8"/>
<html>
<head>
<script></script>
<script></script> →次へ
<style>
#map {width:500px; height:380px; border:1px solid #666; float:left;}
</style>
</head>
<body>
<div id="map"></div>
</body>
</html>
<head>
<script type="text/javascript"
src="http://maps.google.com/maps/api/js?sensor=false&language=ja"></script>
<script>
次へ
</script>
<style>
#map {width:500px; height:380px; border:1px solid #666; float:left;}
</style>
</head>
↓
<script>
var c_lat,c_lng;
var map;
c_lat = 35.1814;
c_lng = 136.9064;
window.onload = function() {
draw_map(c_lat,c_lng);
}
function draw_map(lat,lng) {
var op = {
zoom:13,
center:new google.maps.LatLng(lat,lng),
mapTypeId:google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map"),op);
}
</script>
◯次のリンク先のページのソースをよく読み、不必要なコードを消去して、次の課題をおこないなさい。
課題1 地図だけ表示する。さらに、地図の中心を変えて表示してみる。
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&language=ja"></script>
<script>
var c_lat,c_lng,t_lat,t_lng;
var map;
var marker;
c_lat = 35.1814;
c_lng = 136.9064;
t_lat = 35.1584;
t_lng = 136.9217;
window.onload = function() {
draw_map(c_lat,c_lng);
placeMarker(map,t_lat,t_lng);
}
function draw_map(lat,lng) {…}
function placeMarker(map,lat,lng) {…}
</script>
function placeMarker(map,lat,lng) {
var latLng = new google.maps.LatLng(lat,lng);
var label = "Nagoya University Hospital";
marker = new google.maps.Marker({
position:latLng, map:map, title:label
});
}
課題2 地図上のどこかにマーカーを表示する。中心とマーカーの場所を変えてみる。
・icon
JSON: Javascript Object Notation
{"hospital":[
{"name":"Nagoya University Hospital",
"lat":35.1584,"lng":136.9217},
{"name":"Chukyo Hospital",
"lat":35.1100,"lng":136.9020},
{"name":"Nagoyadaiichi Red Cross Hospital",
"lat":35.1718,"lng":136.8624}
]}
これをUTF-8形式で保存
ファイル名「hosp.json」
ひとつのオブジェクトは、
{"プロパティ1":"値1","プロパティ2":"値2",…,"プロパティN":"値N"}
オブジェクトの配置は、
[オブジェクト1,オブジェクト2,…,オブジェクトM]
課題3 JSONファイルの形式を確認する(ここ)。別の地域に変えて、いくつかの地点の名称、緯度、経度、URLを含むJSONファイルを作る。これは課題4と5でも使う。
<script type = 'text/javascript' src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js">
</script>
<script>
var c_lat,c_lng,t_lat; … ;t_lng = 136.9217;
var hosp_data;
$.getJSON("hosp.json",function(data) {
hosp_data = data;
});
window.onload = function() {
draw_map(c_lat,c_lng);
plot_sites(hosp_data);
}
function draw_map(lat,lng){…}
function plot_sites {…} → 次へ
</script>
↓複数のマーカーを表示する
function plot_sites(data) {
var len = data.hospital.length;
for(var i=0; i<len; i=(i+1)) {
var site = data.hospital[i];
var lat = site.lat;
var lng = site.lng;
var name = site.name;
var pos = new google.maps.LatLng(lat,lng);
var marker_prop = {position:pos, map:map, title:name};
var marker = new google.maps.Marker(marker_prop);
}
}
課題4 課題3で作ったJSONファイルを読み込ませ、地点のマーカーを表示する。

{"pets":[
{"id":"01","name":"pochi","species":"dog",
"favorites":{"food":"meat","place":"garden"}},
{"id":"02","name":"tama","species":"cat",
"favorites":{"food":"tsuna","place":"kitchen"}},
]}
・JSONファイル
{"hospital":[
{"name":"Nagoya University Hospital",
"lat":35.1584,"lng":136.9217,"ward":"Showa",
"url":"http://www.med.nagoya-u.ac.jp/hospital/"},
{"name":"Chukyo Hospital",
"lat":35.1100,"lng":136.9020,"ward":"Minami",
"url":"http://chukyo.jcho.go.jp"},
{"name":"Nagoyadaiichi Red Cross Hospital",
"lat":35.1718,"lng":136.8624,"ward":"Nakamura",
"url":"http://www.nagoya-1st.jrc.or.jp/"}
]}
・Javascript
function plot_sites(data) {
var len = data.hospital.length;
for(var i=0; i<len; i=(i+1)) {
var site = data.hospital[i];
var lat = site.lat;
var lng = site.lng;
var name = site.name;
var url = site.url;
var pos = new google.maps.LatLng(lat,lng);
var marker_prop = {position:pos, map:map, title:name};
var marker = new google.maps.Marker(marker_prop);
marker = add_InfoWindow(marker,url);
}
}
function add_InfoWindow(marker,url) {
var infowindow = new google.maps.InfoWindow();
google.maps.event.addListener(marker,'click',function() {
infowindow.setContent(url);
infowindow.open(map,marker);
});
google.maps.event.addListener(map,'click',function() {
infowindow.close();
});
return marker;
}
課題5 課題4のマーカーをクリックすると吹き出し(インフォウィンドウ)が表示されるようにする。
課題
例:
エクセル(CSV)データ
↓
テキストエディタで開く
↓
変換用Webページにコピー&ペーストして、変換
↓
テキストエディタでJSON形式のファイルに追加