Kobarin's Development Blog

C#やASP.NETなどについての記録です。

Google Fusion Tables & Google Maps V3 連携まとめ

最短コード

//Gmapなど事前準備
var lat = 35.681382;
var lng = 139.766084;
var myOptions = {
  zoom: 14,
  mapTypeId: google.maps.MapTypeId.ROADMAP,
  center: new google.maps.LatLng(lat, lng)
}
var map = new google.maps.Map(document.getElementById("gmap"), myOptions);

//ここから(3行)
var layer = new google.maps.FusionTablesLayer(tableid);
layer.setQuery("SELECT LAT FROM " + tableid);
layer.setMap(map);

座標を使ったSQL記述

  • [top lat]:最上部緯度
  • [bottom lat]:最下部緯度
  • [left lng]:最左経度
  • [right lng]:最右経度
  • [center lat]:中心緯度
  • [center lng]:中心経度
左上・右下を指定(四角)
SELECT *
 FROM XXXXXX
 WHERE ST_INTERSECTS(Address, RECTANGLE(LATLNG([top lat], [left lng]), LATLNG([bottom lat], [right lng])))
中心座標と半径を指定(円)
SELECT *
 FROM XXXXXX
 WHERE ST_INTERSECTS(Address, CIRCLE(LATLNG([center lat],[center lng]), 1000))
中心座標と出力件数を指定
SELECT *
 FROM XXXXXX
 ORDER BY ST_DISTANCE(Address, LATLNG([center lat], [center lng])) LIMIT 10