1

こんにちは、マップ上にいくつかのシェープファイルを表示する必要があります。そのために、ジオサーバー、openlayers、Google マップ V3 を使用しています。OpenLayers.Layer.Google を使用しない限り、シェープファイルを表示できます。これは私の作業コードです:

var map = new OpenLayers.Map('map');
var ghyb = new OpenLayers.Layer.Google(
"Google Hybrid",
{type: google.maps.MapTypeId.HYBRID, numZoomLevels: 30,srs:'EPSG:2077'}
// used to be {type: G_HYBRID_MAP, numZoomLevels: 20}
);
    var wms = new OpenLayers.Layer.WMS( "Italy WMS",
        "http://vmap0.tiles.osgeo.org/wms/vmap0", {layers: 'basic'} );
        var regioni_wms = new OpenLayers.Layer.WMS(
"comuni",
"http://localhost:8080/geoserver/wms",
{
    layers: "prov2011_g" ,
    transparent: "true",
    format: "image/png",
    srs:'EPSG:2077',
},
{isBaseLayer: false}
);
map.addLayer(regioni_wms);
    //map.addLayer(ghyb);
map.addLayer(wms)
    map.zoomToMaxExtent();

レイヤーghybをマップに追加すると、ポリゴンの半分だけがレンダリングされ、ズームインすると消えます。メルカトルの問題なのか、修正方法なのかわかりません。

4

1 に答える 1

1

Google レイヤーは EPSG 900913 でのみ投影されます。他のものを使用しようとすると、うまくいくかどうかは疑わしいです。良いニュースは、Geoserver がその場で wms サービスを EPSG 9000913 に再投影することです。両方のレイヤーでこの投影法に変更し、それが違いを生むかどうかを確認することをお勧めします。

これについて注意すべきことの 1 つは、レイヤーを印刷しようとしている場合、レイヤーは x 軸に沿ってスケーリングされないことです。また、Web サイトで測定ツールを使用している場合は、測地線で動作できることを確認する必要があります。

于 2013-07-25T22:45:34.840 に答える