var lon=new Array();
var lat=new Array();
var lonx=new Array();
var latx=new Array();
var number_line=new Array();
var dic=new Array();
var number,dicnumber;
var code=new Array();
var cc=new Array();
var city=new Array();
var cx=new Array();
var cy=new Array();
google.load('visualization', '1', { 'packages': ['map'] });
function sample() {
var query = "SELECT * FROM " +
'1ZyLMzJynTmnz1xgHYYEcF_G813VeaIRHHbFqwD5c';
query = query + " where pref = 'p27'";
var encodedQuery = encodeURIComponent(query);
var url = ['https://www.googleapis.com/fusiontables/v1/query'];
url.push('?sql=' + encodedQuery);
url.push('&key=AIzaSyAH0WCAXRIdHdbI-6bnMSN4kVDDZZmGyqY');
url.push('&callback=?');
$.ajax({
url: url.join(''),
dataType: 'jsonp',
success: function (data) {
var rows = data['rows'];
sx = 0;
for (var i in rows) {
sx=sx+1;
code[sx]=rows[i][1];
cc[sx]=rows[i][5];
var x1 = rows[i][3];
var x2 = rows[i][4];
lon[sx] = x1;
lat[sx] = x2;
}
number = sx;
dicnumber=0;
for(s=1;s<number+1;s++){
h=0;
for(sx=1;sx<dicnumber+1;sx++){
if(code[s]==dic[sx])h=100;
}
if(h<50)dicnumber=dicnumber+1;
if(h<50)dic[dicnumber]=code[s];
if(h<50)city[dicnumber]=cc[s];
}
for(s=1;s<dicnumber+1;s++){
n=0;
lonx[s]=new Array();
latx[s]=new Array();
for(sx=1;sx<number+1;sx++){
if(code[sx]==dic[s])n=n+1;
if(code[sx]==dic[s])lonx[s][n]=lon[sx];
if(code[sx]==dic[s])latx[s][n]=lat[sx];
}
number_line[s]=n;
}
maxy=0;
maxx=0;
minx=500;
miny=500;
for(s=1;s<number+1;s++){
if(lon[s]>maxy)maxy=lon[s];
if(lat[s]>maxx)maxx=lat[s];
if(lon[s]<miny)miny=lon[s];
if(lat[s]<minx)minx=lat[s];
}
paint();
}
});
}
function paint(){
var sub=new svgpaint();
str="<svg width=\"500\" height=\"500\">";
str=str+sub.rect(0,0,500,500,"blue");
for(s=1;s<number+1;s++){
for(sx=1;sx<number_line[s]+1;sx++){
cx[sx]=500*(latx[s][sx]-minx)/(maxx-minx);
cy[sx]=500-500*(lonx[s][sx]-miny)/(maxy-miny);
}
col="red";
if(number_line[s]>5)str=str+poly(col);
col="green";
if(city[s]=="27227")str=str+poly(col);
}
str=str+"</svg>";
$("#memo").html(str);
}
function poly(col) {
var str, data;
var k;
data = "";
for (k = 1; k <number_line[s]; k++) {
data = data + cx[k] + "," +cy[k] + ",";
}
k = number_line[s];
data = data + cx[k] + "," + (cy[k]);
str = "<polygon fill=" + chop(col) + " points=" + chop(data) + "/>";
return str;
}
function chop(str) {
var strx;
strx = "\"" + str + "\"";
return strx;
}
最終更新:2016年02月03日 18:54