Trucos para mostrar el firmamento con Google Maps v3

A tenor de haber estado currando estos días en cbeams.org he aprendido una serie de cosillas sobre Google Maps v3 y la opción de ver el firmamento. Para empezar diré que Google Maps v3 no da soporte directo para mostrar el firmamento, la Luna o Marte. No podemos decirle a la API que nos de una capa en concreto en plan MapTypeId.ROADMAP o MapTypeId.HYBRID. Hay que hacer un truco para cargar los mapas del espacio como una nueva capa. Mi solución tras romperme mucho la cabeza y darle bastantes vueltas ha sido la que podéis encontrar funcionando en skymaps.js a partir de un ejemplo que encontré aquí.

Otro truco es convertir la declinación y la ascensión derecha en formato decimal de manera que Google Maps pueda entenderlas. Al principio hacia la misma formula que usaba la latitud y longitud (grados + minutos / 60 + segundos / 3600) que si funcionaba con la declinación, pero en la ascensión derecha no tiraba correctamente. Para ello tuve que recurrir a estas dos formulas.

function convertRaToDecimal ($ra) { //Ascension derecha en formato hh:mm:ss
list($hours, $minutes, $seconds) = explode(":", $ra);
$hour = ($hours + ($minutes/60) + ($seconds /3600));
$d = ($hour/24)*360 + 180;
if ($d >180) $d=$d -360;
return $d*-1;
}


function convertDecToDecimal ($dec) { //Ascension derecha en formato gg:mm:ss
list($degrees, $minutes, $seconds) = explode(":", $dec);
if ($degrees < 0) {
$minutes = $minutes*-1;
$seconds = $seconds*-1;
}
return ($degrees + ($minutes/60) + ($seconds /3600));
}

Aún así tengo que seguir investigando ya que tengo problemas al mostrar la Estrella Polar, ya que me saca fuera del mapa, cuando en principio las coordenadas son correctas. También tengo que mirar de quitar el control de Google Street View que da problemas., ya que saca imágenes de la tierra.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *