我正在尝试在 ASP.NET 中开发一个页面,该页面将充当谷歌地图的瓦片服务器
它将从数据库中提取纬度/经度点的集合,然后将它们渲染为透明背景上的小红点,给定缩放级别(默认值:15)。
然后它将结果作为 GIF 类型的图像返回。
是否开发了任何算法或库,允许我采用这组纬度/经度并将它们转换为一组 2D 像素坐标,给定缩放级别?
(这一切都是在服务器端完成的,所以我不能使用 Google Maps API。)
更新:在 Perl 中找到了一个类似的代码示例:
http://blog.barros.ws/2009/03/06/convert-lat-lng-and-zoom-values-to-pixel-xy-on-a-map/
麻烦的是,我不懂 Perl,也没有时间打开一本书来学习它。
谁能帮我破译这个函数中发生了什么?
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) ;
}