2014-01-16 12 views
2

Я пытаюсь использовать SVGTileProvider, который находится в Google IO 2013 app. Однако я не могу точно определить, как позиционировать изображение на карте Google. Я сузил его до этой части класса. Это не координаты lat/long, но каким-то образом они должны исходить из lat/long координат. Кто-нибудь знает, что это такое или откуда они происходят?Google IO 2013 App Mystery Values ​​

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); 

Обновление

Первый набор чисел тайны примерно переводится широты/долготы 37.783887, -122,405107.

Update 2

Эти методы помогают мне преобразовать широту в у значения и наоборот. Как я могу это сделать для 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))); 
} 
+0

Предполагается, что это Мадрид, Испания? Почему arent они долго стоят? – Doomsknight

+0

Нет. В настоящее время я пытаюсь отобразить изображение над зданием в Атланте, штат Джорджия. После этого у меня будет еще несколько мест. – Sababado

+0

Я набрал его неправильно, но его еще не атланта. Однако Google делает Lat длинными для этой точности. он превратился 40.98 в длинное значение – Doomsknight

ответ

5

Оказывается, это мировые координаты.

Ниже приведен код java для перевода с lat/long на x/y.

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); 
} 
+0

Это должно быть отмечено как правильный ответ! Спасибо @Sababado :-) – saguinav

+0

Спасибо за напоминание! Я рад, что это было полезно – Sababado

1

Смотрите класс TileProjection я писал в ответе на вопрос this SO. Если Сабабадо прав, что цифры WorldCoordinates, то этот класс должен помочь вам их преобразовать. Вы можете найти формулы также here.

 Смежные вопросы

  • Нет связанных вопросов^_^