gpt4 book ai didi

postgresql - OpenLayers 中的矢量投影

转载 作者:行者123 更新时间:2023-11-29 12:22:37 24 4
gpt4 key购买 nike

我正在使用 OpenLayers 在 geoDjango 中构建一个 GIS 应用程序,并在投影 EPSG:3908 中使用来自 PostGIS 的数据。基础层是 OSM。当我添加矢量数据时,我在巴西而不是波斯尼亚附近渲染了它。我尝试了所有方法,但就是找不到解决方案。

请问有人能帮忙吗?

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")));

最佳答案

OpenLayers and Proj4js doc

在进行转换时,您必须在调用transform 之前检查isReady 参数。这是因为您必须确保加载投影的定义。

因此定义您的转换对象(4326 和 900913)并检查它们是否准备就绪,然后执行转换。如果它们没有准备好,请在您的 html 文件中明确引用相应的 Proj4js 定义文件。

关于postgresql - OpenLayers 中的矢量投影,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8548316/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com