1 |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
1 |
<!DOCTYPE html> |
2 |
<html> |
2 |
<html lang="ja"> |
3 |
<head> |
3 |
<head> |
4 |
|
4 |
<meta charset="UTF-8"> |
5 |
<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP"> |
5 |
<script src="https://api.its-mo.com/v3/loader?key=JSZddc5111626c8|Zo4wz&api=zdcmap.js,control.js,search.js&enc=UTF8&force=1" type="text/javascript"></script> |
6 |
<script src="http://api.its-mo.com/cgi/loader.cgi?key=JSZ752c40ded32d&ver=2.0&api=zdcmap.js,search.js&enc=EUC&force=1" type="text/javascript"></script> |
|
|
7 |
<style type="text/css"> |
6 |
<style type="text/css"> |
8 |
</style> |
7 |
</style> |
9 |
<script type="text/javascript"> |
8 |
<script type="text/javascript"> |
10 |
//<![CDATA[ |
|
|
11 |
var map, msg, |
9 |
var map, msg, |
12 |
lat = 35.6778614, lon = 139.7703167, arrmrk = []; |
10 |
lat = 35.6778614, lon = 139.7703167, arrmrk = []; |
13 |
|
11 |
|
14 |
function loadMap(){ |
12 |
function loadMap(){ |
15 |
var latlon = new ZDC.LatLon(lat, lon); |
13 |
var latlon = new ZDC.LatLon(lat, lon); |
16 |
map = new ZDC.Map(document.getElementById('ZMap'),{ |
14 |
map = new ZDC.Map(document.getElementById('ZMap'),{ |
17 |
latlon: latlon, |
15 |
latlon: latlon, |
18 |
zoom: 5 |
16 |
zoom: 5 |
19 |
}); |
17 |
}); |
20 |
|
18 |
|
21 |
msg = new ZDC.MsgInfo(latlon, {offset: ZDC.Pixel(0, -18)}); |
19 |
msg = new ZDC.MsgInfo(latlon, {offset: ZDC.Pixel(0, -18)}); |
22 |
map.addWidget(msg); |
20 |
map.addWidget(msg); |
23 |
|
21 |
|
24 |
}; |
22 |
map.addWidget(new ZDC.ScaleBar()); |
|
|
23 |
map.addWidget(new ZDC.Control()); |
|
|
24 |
} |
25 |
|
25 |
|
26 |
function exec(){ |
26 |
function exec(){ |
27 |
/* 緯度経度で周辺のPOI探索を実行 */ |
27 |
/* 緯度経度で周辺のPOI探索を実行 */ |
28 |
/* ジャンルコード(コンビニ:0014000180) */ |
28 |
/* ジャンルコード(コンビニ:0014000180) */ |
29 |
ZDC.Search.getPoiByLatLon({ |
29 |
ZDC.Search.getByZmaps('poi/latlon', { |
30 |
latlon: new ZDC.LatLon(35.6863166, 139.695047), |
30 |
latlon: '35.6863166,139.695047', |
31 |
genrecode: '0014000180', |
31 |
genrecode: '0014000180', |
32 |
limit: '0,10' |
32 |
limit: '0,10' |
33 |
},function(status, res) { |
33 |
},function(status, res) { |
34 |
if (status.code == '000') { |
34 |
if (status.code === 200) { |
35 |
/* 取得成功 */ |
35 |
/* 取得成功 */ |
36 |
markerDisp(res); |
36 |
markerDisp(res); |
37 |
} else { |
37 |
} else { |
38 |
/* 取得失敗 */ |
38 |
/* 取得失敗 */ |
39 |
alert(status.text); |
39 |
alert(status.text); |
40 |
} |
40 |
} |
41 |
}); |
41 |
}); |
42 |
}; |
42 |
} |
43 |
|
43 |
|
44 |
function markerDisp(res) { |
44 |
function markerDisp(res) { |
|
|
45 |
if (res.item.length === 0) { |
|
|
46 |
alert('検索結果が0件です。'); |
|
|
47 |
} |
45 |
/* マーカを作成 */ |
48 |
/* マーカを作成 */ |
46 |
var items = res.item; |
49 |
var items = res.item; |
47 |
var latlons = []; |
50 |
var latlons = []; |
48 |
for (var i=0, j=items.length; i<j; i++) { |
51 |
for (var i=0, j=items.length; i<j; i++) { |
49 |
|
52 |
|
50 |
var itemlatlon = new ZDC.LatLon(items[i].poi.latlon.lat, items[i].poi.latlon.lon); |
53 |
var itemlatlon = new ZDC.LatLon(items[i].poi.point.lat, items[i].poi.point.lon); |
51 |
|
54 |
|
52 |
latlons.push(itemlatlon); |
55 |
latlons.push(itemlatlon); |
53 |
|
56 |
|
54 |
var mrk = new ZDC.Marker(itemlatlon); |
57 |
var mrk = new ZDC.Marker(itemlatlon); |
55 |
map.addWidget(mrk); |
58 |
map.addWidget(mrk); |
56 |
arrmrk.push(mrk); |
59 |
arrmrk.push(mrk); |
57 |
|
60 |
|
58 |
/* マーカをクリックしたときの動作 */ |
61 |
/* マーカをクリックしたときの動作 */ |
59 |
ZDC.bind(mrk, ZDC.MARKER_CLICK, items[i].poi, markerClick); |
62 |
ZDC.bind(mrk, ZDC.MARKER_CLICK, items[i].poi, markerClick); |
60 |
|
63 |
|
61 |
} |
64 |
} |
62 |
|
65 |
|
63 |
/* 地点が全て表示できる縮尺レベルを取得 */ |
66 |
/* 地点が全て表示できる縮尺レベルを取得 */ |
64 |
var adjust = map.getAdjustZoom(latlons); |
67 |
var adjust = map.getAdjustZoom(latlons); |
65 |
map.moveLatLon(adjust.latlon); |
68 |
map.moveLatLon(adjust.latlon); |
66 |
map.setZoom(adjust.zoom); |
69 |
map.setZoom(adjust.zoom); |
67 |
}; |
70 |
} |
68 |
|
71 |
|
69 |
function markerClick() { |
72 |
function markerClick() { |
70 |
var labelhtml; |
73 |
var labelhtml; |
71 |
labelhtml = '<div><font size = "-1"><div><b>' + this.text + '</b></div>'; |
74 |
labelhtml = '<div><font size = "-1"><div><b>' + this.text + '</b></div>'; |
72 |
labelhtml += '<table><tr><td>\u3012' + this.zipcode + ' ' + this.addressText + '</td></tr>'; |
75 |
labelhtml += '<table><tr><td>\u3012' + this.zipcode + ' ' + this.addressText + '</td></tr>'; |
73 |
labelhtml += '<tr><td>電話番号:' + this.phoneNumber + '</td></tr></table></font></div>'; |
76 |
labelhtml += '<tr><td>電話番号:' + this.phoneNumber + '</td></tr></table></font></div>'; |
74 |
|
77 |
|
75 |
msg.setHtml(labelhtml); |
78 |
msg.setHtml(labelhtml); |
76 |
msg.moveLatLon(new ZDC.LatLon(this.latlon.lat, this.latlon.lon)); |
79 |
msg.moveLatLon(new ZDC.LatLon(this.point.lat, this.point.lon)); |
77 |
msg.open(); |
80 |
msg.open(); |
78 |
}; |
81 |
} |
79 |
|
82 |
|
80 |
function markerDelete(){ |
83 |
function markerDelete(){ |
81 |
/* マーカを削除 */ |
84 |
/* マーカを削除 */ |
82 |
while(arrmrk.length > 0){ |
85 |
while(arrmrk.length > 0){ |
83 |
map.removeWidget(arrmrk.shift()); |
86 |
map.removeWidget(arrmrk.shift()); |
84 |
} |
87 |
} |
85 |
/* 吹き出しを閉じる */ |
88 |
/* 吹き出しを閉じる */ |
86 |
msg.close(); |
89 |
msg.close(); |
87 |
}; |
90 |
} |
88 |
|
91 |
|
89 |
//]]> |
|
|
90 |
</script> |
92 |
</script> |
91 |
</head> |
93 |
</head> |
92 |
|
94 |
|
93 |
<body onload="loadMap();"> |
95 |
<body onload="loadMap();"> |
94 |
<div id="ZMap" style="border:1px solid #777777; width:500px; height:300px; top:0px; left:20px; position:absolute;"></div> |
96 |
<div id="ZMap" style="border:1px solid #777777; width:600px; height:500px; top:0px; left:20px; position:absolute;"></div> |
95 |
<div id="IBox" style="top:0px; left:540px; position:absolute;"> |
97 |
<div id="IBox" style="top:0px; left:650px; position:absolute;"> |
96 |
<input type="button" value="検索実行" onclick="exec();"><br> |
98 |
<input type="button" value="検索実行" onclick="exec();"><br> |
97 |
<input type="button" value="結果削除" onclick="markerDelete();"> |
99 |
<input type="button" value="結果削除" onclick="markerDelete();"> |
98 |
</div> |
100 |
</div> |
99 |
</body> |
101 |
</body> |
100 |
</html> |
102 |
</html> |