質問

私は正常に行うことができます:

point.transform(new OpenLayers.Projection("EPSG:900913"), new OpenLayers.Projection("EPSG:4326"));
(メートルで)Googleの形式である点までの

が、私は逆をやりたいます:

point.transform(new OpenLayers.Projection("EPSG:4326"), new OpenLayers.Projection("EPSG:900913"));

4326(通常の緯度/経度の形式)である点に、私はいくつかの問題を抱えています。

任意の負の値は、私は、変換を行うとき、NaN(非数)となっているようです。逆に、変換についての何かが、私は理解していないことがありますか。

編集:私は、負の値を持っていない場合であっても悪いことは、座標がオフに思えます。私は、データベースにそれらの座標を保存し、後でそれをロードし、画面上の四角形を描画することで座標を取得しています。それは大西洋に、アフリカの上部付近だロードしたとき、私はその後、アフリカ(正の座標)の先端近くに四角形を描画し、することができます。私は間違いなくやっている何かを間違って....

編集:ここに私のコードだ: http://pastie.org/911524する

具体的に:これは私が私のマップを初期化する方法である。

 var navControl = new OpenLayers.Control.Navigation();
                 map = new OpenLayers.Map('map', {

                // restrictedExtent: bounds.clone(),


                 }); 
       //actually draws the map 
        layerMapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik", {
        displayOutsideMaxExtent: false,
        wrapDateLine: true
        //numZoomLevels: 10
        });
役に立ちましたか?

解決

ああ、私はそれを考え出します:

私のコード内の1つの時点で私は緯度混乱し、それがすべてを台無しにされた経度ます。

他のヒント

あなたが本当にすべての座標変換の電源を使用する場合は、

、あなたはproj4js http://proj4js.org/とOpenLayersを強化する必要がありますがの完全な変換フレームワーク座標

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top