La conversion de long/lat pixels x/y, étant donné un niveau de zoom

Je suis en train de développer une page dans ASP.NET qui va agir comme un carreau de serveur pour une Carte Google

Il va tirer une collection de latitude/longitude des points de la base de données, puis de les rendre comme des petits points rouges sur un fond transparent, compte tenu d'un niveau de zoom (par défaut: 15).

Puis, il retournera le résultat sous forme de GIF-type de l'image.

Avez des algorithmes ou des bibliothèques été développé qui me permettent de prendre cet ensemble de latitudes/longitudes et de les convertir en un ensemble de 2D pixel de coordonnées, étant donné un niveau de zoom?

(Cela est fait côté serveur, donc je ne peux pas utiliser l'API Google Maps.)


Mise à jour: vous avez Trouvé un code de l'échantillon en Perl qui fait quelque chose de similaire:

http://blog.barros.ws/2009/03/06/convert-lat-lng-and-zoom-values-to-pixel-xy-on-a-map/

Problème est que je ne sais pas Perl, et ne pas vraiment avoir le temps d'ouvrir un livre et de l'apprendre.

Quelqu'un peut m'aider à déchiffrer ce qui se passe dans cette fonction?

sub Google_Coord_to_Pix
{
    my $value   = shift ;
    my $lat = shift ;
    my $lng = shift ;
    my @d       = ( ) ; 
    my $e       = 0 ;

    $d[1] = sprintf("%0.0f", $$value{'bmO'} + $lng * $$value{'pixLngDeg'} ) ;

    $e = sin($lat * $$value{'Wa'}) ;

    if( $e > 0.99999 )
    {
        $e = 0.99999 ;
    }

    if( $e < -0.99999 )
    {
        $e = -0.99999 ;
    }

    $d[0] = sprintf("%0.0f", $$value{'bmO'} + 0.5 * log((1 + $e) / (1 - $e)) * (-1) * $$value{'pixLngRad'} ) ;

    return (@d) ;
}

OriginalL'auteur Jonathan | 2009-10-20