[英]OpenLayers projection
我對OpenLayers 3有點問題。我有以下腳本:
var map = new ol.Map({
view : new ol.View({
center : [5.611155, 52.238879],
projection : 'EPSG:4326',
zoom : 8.5,
minZoom : 8.5,
maxZoom : 12.5
}),
layers : [
new ol.layer.Tile({
source : new ol.source.OSM()
}),
],
target : 'map'
});
如果我沒記錯的話,應該以荷蘭的某個地方為中心顯示地圖。 但是我沒有看到地圖,而是看到了藍色。 即使將縮放比例設置為1,也看不到任何世界。
如果我從視圖中刪除了projection屬性,問題似乎就不存在了。 但是當然我應該在另一個坐標系中給出所有坐標,這是不可能的,因為我也依賴於其他系統。
當我從view屬性中刪除projection屬性並加載了如下的GeoJSON文件時:
new ol.layer.Vector({
source: new ol.source.GeoJSON({
projection: 'EPSG:4326',
url: 'data/map.geojson'
})
})
它應該在荷蘭的頂部放置一層,但是GeoJSON顯示在非洲的某個地方。
有人能幫我嗎?
Openstreetmap的投影與OL3不同。 OSM使用EPSG:900913,當您將其用作背景時,必須將其用作主要投影。
這將解決您問題的第一部分:
var centerpos = [5.611155, 52.238879]; // Your original position in LatLon
var newpos = ol.proj.transform(centerpos,'EPSG:4326','EPSG:900913');
var map = new ol.Map({
view : new ol.View({
projection : 'EPSG:900913', // OSM projection
center : newpos,
zoom : 8.5,
minZoom : 8.5,
maxZoom : 12.5
}),
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
})
],
target : 'map'
});
對於您有關GeoJson的最后一個問題,我認為它會起作用,因為您設置了投影(最終在源文件中設置了投影),但是我尚未對其進行測試。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.