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>