使用传单获取Z缩放级别的XY平铺坐标



我已经学会了如何通过使用createTile函数扩展传单来获得XYZ坐标。

但我想知道的是,即使我没有放大,我如何访问GPS坐标周围固定Z缩放级别的XY平铺名称/坐标。

为什么?我正在开发一个P2P/去中心化版本的优步,XY坐标是一个很好的通用/共享位置索引,供用户查找/订阅/查询。和中一样,X英里半径内的每个人都知道相同的XY坐标名称,并将其用作查找彼此的确定键。

该项目将"在特定缩放级别下,从0,0原点将lon,lat转换为屏幕像素x,y。"https://github.com/mapbox/sphericalmercator

更新:

function lng2tile(lon,z) { return (Math.floor((lon+180)/360*Math.pow(2,z))) }
function lat2tile(lat,z)  { return (Math.floor((1-Math.log(Math.tan(lat*Math.PI/180) + 1/Math.cos(lat*Math.PI/180))/Math.PI)/2 *Math.pow(2,z))) }

或者试试这个:

var row = Math.floor((location.lng + 180) / (360 / Math.pow(2, zoomLevel)));
var col = Math.floor((90 + (location.lat * -1)) / (180 / Math.pow(2, (zoomLevel - 1))));

最新更新