【发布时间】:2015-08-17 09:11:31
【问题描述】:
我想使用 openlayers 制作地图,但以一种独特的方式居中。例如,我的 z/x/y 坐标为 12/2045/-1362,如何将其转换为经度/纬度?与此截然相反:How to get X Y Z coordinates of tile by click on Leaflet map
我很难理解上述链接的逻辑并将其反转。我希望这里有人对此有经验或现成的公式。谢谢
稍后我会这样渲染我的地图中心:
var z = 12;
var x = 2045;
var y = -1362;
function convertXYZtoCoor(z, x, y) {
// code here
return [lng, lat];
}
var coor = convertXYZtoCoor(z, x, y);
var view = new ol.View({
center: ol.proj.transform(
[coor[0], coor[1]], 'EPSG:4326', 'EPSG:3857'),
zoom: z
});
var map = new ol.Map({
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
})
],
target: 'map',
view: view
});
希望我的问题能得到更多理解,谢谢。
编辑:添加代码
【问题讨论】:
-
对我来说,不清楚,你在找permalink吗?
-
抱歉,我阅读了链接。不,您从我创建的链接中获取现有代码,然后通过将其转换为 lat/lng 来根据平铺值 12/2045/-1362 更改中心值。这可能吗?
-
我不这么认为。让我们看看其他人怎么说,同时我的猜测是你重新考虑你的用例。
-
你从哪里/如何得到这个
12/2045/-1362? -
openlayers.org/en/v3.5.0/examples/canvas-tiles.html?q=tiles 检查这个,默认情况下这里的缩放级别是 10,我只是进一步放大到 12。只是进一步编辑了我的问题.. 我的客户想要发生的是给定一个特定的xyz 瓦片坐标,我会使用 openlayers 显示它,该坐标应该是 ol.view 的值,因此瓦片是视图的中心。
标签: javascript gis openlayers-3