您好我需要在地图上显示一些shapefile,因为我使用geoserver,openlayers和谷歌地图V3,它的工作原理我不使用OpenLayers.Layer.Google,我可以看到我的shapefile。 这是我的工作代码:
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添加到地图中,则只渲染我的多边形的一半,如果放大则消失。我不知道是否存在墨卡托的问题以及如何修复它。
答案 0 :(得分:1)
Google图层仅预测在EPSG 900913中。如果您尝试使用其他任何内容,那么它是否会起作用是值得怀疑的。好消息是,Geoserver将动态重新投影您的wms服务到EPSG 9000913.我建议您在两个层中进行此投影,并查看是否会产生影响。
有一点需要注意的是,如果您尝试打印图层,则不会沿x轴缩放。此外,如果您在网站上使用测量工具,则需要确保它可以在测地仪中运行。