1

ボタンをクリックして 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 を初めて使用するので、ソリューションについて具体的に教えてください。前もって感謝します。

4

1 に答える 1

0

proj4js を使用する必要があります。OpenLayers の手順のリンクは次のとおりです: http://trac.osgeo.org/openlayers/wiki/Documentation/Dev/proj4js。指示に従って EPSG:25832 の定義を追加してください。

于 2014-01-28T11:09:44.763 に答える