我有一个包含各种地图位置(纬度,经度)的数据库。我一直在使用地图api(例如谷歌地图)来绘制这些位置。
我现在正在试验,看看我是否可以完全消除对地图api的依赖,并简单地将地图控件替换为图像(一个.png图像)。
问题:我如何将地图位置正确地显示到此地图图像上?
更多细节:基本上,地图将是一个矩形区域(即Div元素),其中矩形的左上角显然是(0,0),所以基本上地图位置将相对于左上角显示。
首先,您从哪里获得地理编码?如果它们来自必应或谷歌地图,那么你只能将这些坐标与那些地图控件一起使用。在没有地图控件的情况下使用这个坐标违反了这些API的使用条款。假设这些坐标来自其他地方,您可以通过首先了解图像的一些信息将它们覆盖到图像上。您至少需要知道图像上的两个坐标及其相对像素位置。然后,您可以从中确定图像的比例和左上角坐标。有了这个,你就可以使用大量的数学计算相当准确地定位图像上的坐标。你可以在这里找到很多有用的数学:http://msdn.microsoft.com/en-us/library/bb259689.aspx我写了一些关于这个的博客文章,你可以在这里找到:http://rbrundritt.wordpress.com/2008/10/25/ve-imagery-service-and-custom-icons/
如果这些坐标来自必应地图,你可以使用必应地图图像服务:http://msdn.microsoft.com/en-us/library/ff701724.aspx