index.js
function pointToTileFraction(lon, lat, z) {
    var sin = Math.sin(lat * d2r),
        z2 = Math.pow(2, z),
        x = z2 * (lon / 360 + 0.5),
        y = z2 * (0.5 - 0.25 * Math.log((1 + sin) / (1 - sin)) / Math.PI);

    // Wrap Tile X
    x = x % z2
    if (x < 0) x = x + z2
    return [x, y, z];
}
function pointToTileFraction(lon, lat, z) {
    var sin = Math.sin(lat * d2r),
        z2 = Math.pow(2, z),
        x = z2 * (lon / 360 + 0.5),
        y = z2 * (0.5 - 0.25 * Math.log((1 + sin) / (1 - sin)) / Math.PI);

    // Wrap Tile X
    x = x % z2
    if (x < 0) x = x + z2
    return [x, y, z];
}
function pointToTileFraction ( lon , lat , z ) { var sin = Math . sin ( lat * d2r ) , z2 = Math . pow ( 2 , z ) , x = z2 * ( lon / 360 + 0.5 ) , y = z2 * ( 0.5 - 0.25 * Math . log ( ( 1 + sin ) / ( 1 - sin ) ) / Math . PI ) ; // Wrap Tile X x = x % z2 if ( x < 0 ) x = x + z2 return [ x , y , z ] ; }
Get the precise fractional tile location for a point at a zoom level

@name pointToTileFraction
@param {number} lon
@param {number} lat
@param {number} z
@returns {Array<number>} tile fraction
var tile = pointToTileFraction(30.5, 50.5, 15)
//=tile
Get the precise fractional tile location for a point at a zoom level