OpenLayers/メモ http://www.ark-web.jp/sandbox/wiki/5620.html
はまったことのメモ
- Googleと自前WMSを重ねる
var options = { projection: new OpenLayers.Projection("EPSG:900913"), units: "m", maxExtent: new OpenLayers.Bounds(-20037508.34, -20037508.34, 20037508.34, 20037508.34) }; map = new OpenLayers.Map('map', options ); var google = new OpenLayers.Layer.Google( "Google", {type: G_NORMAL_MAP, sphericalMercator: true}); map.addLayer(google); var mywms = new OpenLayers.Layer.WMS( "mywms", "<%= wms_path %>", {layers: 'mywms', format: 'image/png'}, {isBaseLayer: false, visibility: true, opacity: 0.5}); map.addLayer(mywms); - Map#zoomToExtent: 指定したBoundsがちょうどよく表示される位置、及びzoomlevelで表示する
- Google地図と重ねる場合、Proj4js.transformで変換する必要あり
var source = new Proj4js.Proj('EPSG:4326'); var dest = new Proj4js.Proj('EPSG:900913'); var p1 = new Proj4js.Point(<%= @lon1 %>, <%= @lat1 %>); var p2 = new Proj4js.Point(<%= @lon2 %>, <%= @lat2 %>); Proj4js.transform(source, dest, p1); Proj4js.transform(source, dest, p2); map.zoomToExtent(new OpenLayers.Bounds(p1.x, p1.y, p2.x, p2.y), false); - WMSで現在表示している箇所以外の部分までタイルをとりに行っておそい。bufferに0を指定
var mywms = new OpenLayers.Layer.WMS( "gis_test", "<%= wms_path %>", {layers: 'gis_test', format: 'image/png'}, {isBaseLayer: false, visibility: true, opacity: 0.5, buffer: 0});
![[PukiWiki] [PukiWiki]](image/sandbox.gif)



