将贴图的xyz坐标转换为经度/纬度
Convert xyz coordinate of a tile to longitude/latitude
我想用openlayers制作一个地图,但是用一种独特的方式居中。例如,我有一个z/x/y坐标12/2045/-1362,我如何将其转换为经度/纬度?这是完全相反的两极:如何获得X Y Z坐标的瓷砖点击传单地图
我很难理解上面链接的逻辑并把它颠倒过来。我希望在座有人对此有经验或现成的公式。由于
之后,我将在渲染我的地图的中心像这样:
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
});
希望我的问题得到更多理解,谢谢。
编辑:添加代码var tileExtent = function(tileCoord){
var z = tileCoord[0];
var x = tileCoord[1];
var y = tileCoord[2];
var tileGridOrigin = tileGrid.getOrigin(z);
var tileSizeAtResolution = tileGrid.getTileSize(z) * tileGrid.getResolution(z);
return [
tileGridOrigin[0] + tileSizeAtResolution * x,
tileGridOrigin[1] + tileSizeAtResolution * y,
tileGridOrigin[0] + tileSizeAtResolution * (x + 1),
tileGridOrigin[1] + tileSizeAtResolution * (y + 1)
];
}
你可以在http://jsfiddle.net/eurx57s7/
测试/验证注意(从ol3的例子中偷来的,但在这里适用于):贴图坐标是ol3规范化贴图坐标(原点左下),而不是OSM贴图坐标(原点左上)
相关文章:
- “可绘制地图”设置地图选项“纬度-经度”
- 如何用javascript获取谷歌地图的经度和纬度
- 使用API在我的网站Google-Map上显示搜索地址的纬度和经度
- 使用传单在地图框上显示纬度和经度
- 如何使用谷歌地图中的纬度和经度搜索附近的位置
- 如何在不重新加载整个网页的情况下动态更改经度和纬度的值
- 如何通过javascript从jsongooglemapapi中获取地理编码纬度和经度
- 如何使用XML中的经度和纬度值在地图上显示位置
- 使用地图框 API 将邮政编码转换为纬度和经度
- 在 PHP 或 JavaScript 中获取用户的纬度和经度,以便在 PHP 中使用
- 使用 Javascript 获取坐标经度纬度
- 经度纬度 (WGS84) 到圆锥变换的转换
- 如何将经度/纬度转换为静态地图图像
- 使用经度纬度创建地形(以三.js为单位)
- 使用经度/纬度在国家地图上标记位置
- 查找离给定经度/纬度最近的城市
- 将贴图的xyz坐标转换为经度/纬度
- 谷歌地图标记数组,我如何得到经度/纬度
- topojson / D3 / 经度+纬度地图
- 获取给定中心点和半径的边界框的经度/纬度值