【问题标题】:VirtualEarth: determine min/max visible latitude/longitudeVirtualEarth:确定最小/最大可见纬度/经度
【发布时间】:2009-02-26 09:06:13
【问题描述】:

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

【问题讨论】:

    标签: virtual-earth


    【解决方案1】:

    找到了! VEMap.GetMapView() 返回边界矩形,甚至适用于 3D 模式(边界甚至不是矩形)。

    var view = map.GetMapView();
    
    latMin = view.BottomRightLatLong.Latitude;
    lonMin = view.TopLeftLatLong.Longitude;
    latMax = view.TopLeftLatLong.Latitude;
    lonMax = view.BottomRightLatLong.Longitude;
    

    【讨论】:

      【解决方案2】:

      使用 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

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

      【讨论】:

      • 查看PixelToLatLong中的文档,貌似GetMapView是我需要的:要获取3D模式下地图的边界区域,调用VEMap.GetMapView方法。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-07
      • 1970-01-01
      • 2019-07-04
      • 1970-01-01
      相关资源
      最近更新 更多