Google IO 2013 App神秘价值观

Sab*_*ado 3 android tile googleio google-maps-android-api-2

我想利用的SVGTileProvider是在发现谷歌IO 2013的应用程序.我无法弄清楚如何在谷歌地图上定位图像.我把它缩小到了课程的这一部分.这些不是纬度/经度坐标,但不管怎样它们必须来自纬度/经度坐标.有谁知道这些是什么或它们来自哪里?

mBaseMatrix.setPolyToPoly(
    new float[]{
        0, 0,
        limits.width(), 0,
        limits.width(), limits.height()
    }, 0,
    new float[]{
        40.95635986328125f, 98.94217824936158f,
        40.95730018615723f, 98.94123077396628f,
        40.95791244506836f, 98.94186019897214f
    }, 0, 3);
Run Code Online (Sandbox Code Playgroud)

更新

第一组神秘数字大致翻译为纬度/经度37.783887,-122.405107.

更新2

这些方法可以帮助我将纬度转换为y值,反之亦然.我如何为X和经度做这个?

public static double y2lat(double aY) {
    return Math.toDegrees(2 * Math.atan(Math.exp(Math.toRadians(aY))) - Math.PI / 2);
}
public static double lat2y(double aLat) {
    return Math.toDegrees(Math.log(Math.tan(Math.PI / 4 + Math.toRadians(aLat) / 2)));
}
Run Code Online (Sandbox Code Playgroud)

Sab*_*ado 6

原来这些是世界坐标.

这是一些从lat/long转换为x/y的java代码.

public static float lat2y(double aLat) {
    return (float) (((1 - Math.log(Math.tan(aLat * Math.PI / 180) + 1 / Math.cos(aLat * Math.PI / 180)) / Math.PI) / 2 * Math.pow(2, 0)) * 256);
}
public static float lon2x(double lon) {
    return (float) ((lon + 180f) / 360f * 256f);
}
Run Code Online (Sandbox Code Playgroud)