はまったことのメモ
 
 - 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で表示する
 - WMSで現在表示している箇所以外の部分までタイルをとりに行っておそい
 -- bufferに0を指定
 - 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});
 
 #blikifooter(志田)
 
 

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

アークウェブのサービスやソリューションはこちら