ボタンをクリックして GPS 座標を取得し、それらを EPSG:25832 形式に変更してマップを中央に配置したいと考えています。これまでにコーディングしたものは次のとおりです。
jQuery('#btnGPS').click(function() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(success);
} else {
alert("Not Supported!");
}
});
function success(position) {
alert(position.coords.longitude + ',' + position.coords.latitude);
var SRS_MAP = new OpenLayers.Projection("EPSG:25832");
var SRS_LONLAT = new OpenLayers.Projection("EPSG:4326");
var center = new OpenLayers.LonLat(position.coords.longitude,position.coords.latitude);
var test = center.transform(SRS_LONLAT,SRS_MAP);
alert(test);
}
最後に私のマップオブジェクト:
map = new OpenLayers.Map('map',{
controls: [
new OpenLayers.Control.Navigation(),
new OpenLayers.Control.PanZoomBar(),
new OpenLayers.Control.ScaleLine(),
new OpenLayers.Control.KeyboardDefaults()
],
projection: new OpenLayers.Projection("EPSG:25832"),
displayProjection: new OpenLayers.Projection("EPSG:4326"),
units: 'm',
maxExtent: new OpenLayers.Bounds(356570.500,5442150.416,383807.687,5462691.920),
maxResolution: 'auto',
numZoomLevels: 8
});
まったく変換せずに、常に同じ座標が返されます。経度と緯度を持つ位置オブジェクトは正常に機能していますが、OpenLayers 変換機能を正しく機能させることができません。最新の標準 OpenLayers を使用しています。
私は OpenLayers を初めて使用するので、ソリューションについて具体的に教えてください。前もって感謝します。