座標系を取得
map.getProjectionObject()
地図の中心部座標を緯度経度で取得する
_lonlat = map.getCenter().transform(map.getProjectionObject(), new OpenLayers.Projection("EPSG:4326"));
地図上に固定画像
OpenLayersでは地図上に固定位置で何かを表示することはできない(っぽい)。
なのでCSSで重ねる
position: absolute; top : 100px; left : 100px; z-index : 10000;
中央に十字線を配置したいのだけど、
その部分にカーソルが乗っても無視する方法ってないのかなぁ。
Shapeファイルの取込
フィールド名が日本語だとエラーが出る。・゚・(ノД`)・゚・。
あらゆるパターンを試したわけではないけど、恐らくそうだと思う。
ちなみにOpenOfficeでもフィールド名が日本語のdbfは読みこむことができなかった、エラーすら出ない。
Shapeの仕様書見ると「フィールド名(ASCII)」ってなってるから日本語使うコトがイレギュラーなのね
http://www.esrij.com/products/gis_data/shape/shapefile_j.pdf
追記
LayerのNameやTitleに「_」(アンダーバー)使ったらQGISでエラーでた。
NameのせいなのかTitleのせいなのか、はたまた別に原因があるのかは不明。
Shapeのファイル名に使われている分は問題ないっぽい。
追記の追記
「_」は問題ではない?なんなんだ一体?!
後からこの問題が出てきた時を考えると怖いなぁ><
OpenLayersのバージョン
GoogleMap API V3を利用し電子国土と切り替えるなら
<script type="text/javascript" src="http://portal.cyberjapan.jp/sys/OpenLayers-2.11/OpenLayers.js" charset="UTF-8"></script>
↓
<script type="text/javascript" src="http://openlayers.org/api/OpenLayers.js" charset="UTF-8"></script>
じゃないとGoogleMapを表示させたときにGoogleロゴに著作権情報等が重なり常に著作権のウインドウが表示される
OpenLayersのリリースノートによるとバージョン固定で使ったが良いんじゃない的なことが書いてあるような無いようななので
https://github.com/openlayers/openlayers/blob/master/notes/2.12.md#google-v3-layer
<script src="http://maps.google.co.jp/maps/api/js?v=3.9&sensor=false&language=ja"></script>
こうしておく