VirtualEarth:确定最小/最大可见纬度/经度

时间:2009-02-25 17:41:06

标签: virtual-earth

是否有一种简单的方法可以确定VirtualEarth地图中的最大和最小可见纬度和经度? 鉴于它不是一个平坦的表面(VE使用墨卡托投影看起来像)我可以看到数学变得相当复杂,我想有人可能知道一个片段来完成这个。

2 个答案:

答案 0 :(得分:2)

发现它! VEMap.GetMapView()返回边界矩形,甚至也适用于3D模式(边界甚至不是矩形)。

var view = map.GetMapView();

latMin = view.BottomRightLatLong.Latitude;
lonMin = view.TopLeftLatLong.Longitude;
latMax = view.TopLeftLatLong.Latitude;
lonMax = view.BottomRightLatLong.Longitude;

答案 1 :(得分:1)

使用Virtual Earth Interactive SDK,您可以看到如何将像素点转换为LatLong对象:

function GetMap()
{
  map = new VEMap('myMap');
  map.LoadMap();
}

function DoPixelToLL(x, y)
{
  var ll = map.PixelToLatLong(new VEPixel(x, y)).toString()
  alert("The latitude,longitude of the pixel at (" + x + "," + y + ") is: " + ll)
}

进一步查看:菜单中的http://dev.live.com/virtualearth/sdk/转到:获取地图信息 - >将像素转换为LatLong

要获得Max / Min可见的LatLong,您可以为地图的每个角调用DoPixelToLL方法。