45度谷歌地图

时间:2011-01-27 16:58:17

标签: javascript google-maps

如何让谷歌地图倾斜并显示45%的视图?

文档说它应该“自动”执行,但它似乎没有这样做。这是Google从API中退出的功能吗?

点击链接并放大以查看在谷歌地图上使用的功能 Google Offices

<html> <head>   <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script>
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/jquery-ui.min.js"></script>
    <script src="http://maps.google.com/maps/api/js?v=3.2&sensor=false&key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" type="text/javascript"></script> </head> <body>

<div id="Map" style="width: 100%;height: 500px"> </div>

<script>
        var latlng = new google.maps.LatLng(37.4219720,
-122.0841430);
        var myOptions = {
            zoom: 3,
            scrollwheel: false, 
            center: latlng,
            mapTypeId: google.maps.MapTypeId.HYBRID
        };
        var map = new google.maps.Map(document.getElementById("Map"), myOptions);
        var bounds = new google.maps.LatLngBounds();
        bounds.extend(CreateMarker(map,37.4219720,-122.0841430).getPosition());
        map.fitBounds(bounds);


function CreateMarker(map, latitude, longitude){
    var marker = new google.maps.Marker({       
        position: new google.maps.LatLng(latitude, longitude),        
        map: map,        
    });

    return marker; } </script> </body> </html>

3 个答案:

答案 0 :(得分:4)

以下是使用45度卫星图像的演示: http://code.google.com/apis/maps/documentation/javascript/examples/aerial-rotation.html

您正在寻找的方法是setTilt()和setHeading()。 http://code.google.com/apis/maps/documentation/javascript/reference.html#Map

注意: 45度图像仅适用于某些缩放级别(18,19,20)和某些区域。

var map;
function initialize() {
  var mapOptions = {
    center: new google.maps.LatLng(45.518970, -122.672899),
    zoom: 18,
    mapTypeId: google.maps.MapTypeId.SATELLITE
  };
  map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);

  // changes map to use 45 degree imgary
  map.setTilt(45);
  map.setHeading(90);
}

答案 1 :(得分:0)

AFAIK,桌面浏览器上的Google地图无法自行倾斜地图;只有谷歌地球,谷歌地球浏览器插件和Android应用程序可以做到(目前)。

您是否可以提供指向自动倾斜的文档的链接?

您提供的链接页面只会在插件上显示(显然),并选择右上角的“地球”按钮。

当更广泛地支持HTML 5时,我猜测Google Maps也能够使用矢量图形。直到那时,它是平铺的位图或地球插件,我很害怕。

答案 2 :(得分:0)

我可能错了,但我虽然Marty(op)最初要求倾斜的“卫星图像”视图(2D卫星图像的3D变换),而不是已添加到GMaps的特定城市的航空照片过去几年。

Google地图具有此功能(倾斜视图/两个不同角度),通过maps.google.com的“倾斜视图”控件。 (API是map.setTilt(),它没有启用)。

谷歌地球曾经拥有此功能,现在似乎谷歌地球已开始淘汰,它的功能已合并到谷歌地图,“倾斜视图”除外。另一个例外是谷歌地图Android API,似乎有它!特别是在Android的Google导航应用中,它以非常酷的方式使用它。 (据说是为了通过iOS为Android SDK增加更多价值)。

我想,当其他服务开始提供类似服务时,它将随时可用。我希望这很快就会发生。有没有其他地图提供商做类似的事情?我觉得Bing只是做了更多航拍照片?