OpenLayers中的矢量投影
问题描述:
我正在使用OpenLayers和使用来自PostGIS的投影EPSG中的数据构建geoDjango中的GIS应用程序:3908。 基础层是OSM。当我添加矢量数据时,我将它渲染到巴西附近而不是波斯尼亚。 我尝试了一切,但无法获得解决方案。OpenLayers中的矢量投影
请任何人都可以帮忙吗?
var map, osm, google, kml;
function init(){
map = new OpenLayers.Map('map');
map.addControl(new OpenLayers.Control.LayerSwitcher());
var osm = new OpenLayers.Layer.OSM(
"OSM");
kml = new OpenLayers.Layer.GML("KML", upit,
{format: OpenLayers.Format.KML,
projection: new OpenLayers.Projection("EPSG:3908")});
map.addLayers([osm, kml]);
map.zoomToExtent(
new OpenLayers.Bounds(15.774414, 42.6, 19.662109, 45.2).transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("EPSG:900913")));
答
在做转换,你必须在调用transform
之前检查isReady
参数。这是因为您必须确保投影的定义已加载。
因此,定义您的转换对象(4326和900913)并检查它们是否准备就绪,然后执行转换。如果他们未能做好准备,请在html文件中明确引用相应的Proj4js定义文件。