OpenLayers投影到不同位置与Bing地图
我正在使用OpenLayers和bing地图。我添加了一个标记,但它显示在不同的位置。和我在bing地图中使用的坐标相同,它显示在正确的位置 这里 这是OpneLayers的结果OpenLayers投影到不同位置与Bing地图,openlayers,bing-maps,openlayers-3,Openlayers,Bing Maps,Openlayers 3,我正在使用OpenLayers和bing地图。我添加了一个标记,但它显示在不同的位置。和我在bing地图中使用的坐标相同,它显示在正确的位置 这里 这是OpneLayers的结果 我需要转换坐标吗?是的,确实需要将坐标转换为EPSG:3857 你有两个不同的选择 1) 您可以使用epsg:4326构建地图。这意味着将进行客户瓷砖重投影 这样做 var map = new ol.Map({ layers: [tileLayer], target: 'map', view
我需要转换坐标吗?是的,确实需要将坐标转换为
EPSG:3857
你有两个不同的选择
1) 您可以使用epsg:4326构建地图。这意味着将进行客户瓷砖重投影
这样做
var map = new ol.Map({
layers: [tileLayer],
target: 'map',
view: new ol.View({
projection:'EPSG:4326',
center: [-22.3869608, -49.7602708],
zoom: 5,
})
});
var map = new ol.Map({
layers: [tileLayer],
target: 'map',
view: new ol.View({
center: ol.proj.transform([-22.3869608, -49.7602708], 'EPSG:4326','EPSG:3857');
zoom: 5,
})
});
2) 您可以从您的中心转到“EPSG:3857”。应使用此投影,因为您没有在ol.view配置中指定它。(从附着到地图的第一个平铺层自动获取投影)
这样做
var map = new ol.Map({
layers: [tileLayer],
target: 'map',
view: new ol.View({
projection:'EPSG:4326',
center: [-22.3869608, -49.7602708],
zoom: 5,
})
});
var map = new ol.Map({
layers: [tileLayer],
target: 'map',
view: new ol.View({
center: ol.proj.transform([-22.3869608, -49.7602708], 'EPSG:4326','EPSG:3857');
zoom: 5,
})
});
结束向量点
var p1 = new ol.Feature({
geometry: new ol.geom.Point(ol.proj.transform([-22.3869608, -49.7602708], 'EPSG:4326','EPSG:3857'))
});
的确,您需要将您的coords转换为
EPSG:3857
你有两个不同的选择
1) 您可以使用epsg:4326构建地图。这意味着将进行客户瓷砖重投影
这样做
var map = new ol.Map({
layers: [tileLayer],
target: 'map',
view: new ol.View({
projection:'EPSG:4326',
center: [-22.3869608, -49.7602708],
zoom: 5,
})
});
var map = new ol.Map({
layers: [tileLayer],
target: 'map',
view: new ol.View({
center: ol.proj.transform([-22.3869608, -49.7602708], 'EPSG:4326','EPSG:3857');
zoom: 5,
})
});
2) 您可以从您的中心转到“EPSG:3857”。应使用此投影,因为您没有在ol.view配置中指定它。(从附着到地图的第一个平铺层自动获取投影)
这样做
var map = new ol.Map({
layers: [tileLayer],
target: 'map',
view: new ol.View({
projection:'EPSG:4326',
center: [-22.3869608, -49.7602708],
zoom: 5,
})
});
var map = new ol.Map({
layers: [tileLayer],
target: 'map',
view: new ol.View({
center: ol.proj.transform([-22.3869608, -49.7602708], 'EPSG:4326','EPSG:3857');
zoom: 5,
})
});
结束向量点
var p1 = new ol.Feature({
geometry: new ol.geom.Point(ol.proj.transform([-22.3869608, -49.7602708], 'EPSG:4326','EPSG:3857'))
});
我尝试了这两种方法,但仍然将标记添加到错误的位置。如何将未知坐标转换为EPSG:3857?只需将坐标从该
中心:ol.proj.transform([-22.3869608,-49.7602708]
转换为该中心:ol.proj.transform([-49.7602708,-22.3869608]
。对向量点执行同样的操作。你的坐标不是未知的,它是wgs84 lon/lat。我尝试了这两个选项,但仍然将标记添加到错误的位置。如何将未知坐标转换为EPSG:3857?只需从该中心翻转坐标:ol.proj.transform([-22.3869608,-49.7602708]
到此中心:ol.proj.transform([-49.7602708,-22.3869608]
。对向量点执行相同操作。您的坐标不是未知的,它是wgs84 lon/lat。