显示45度倾斜,然后它立即切换到0度视图,它在某些位置发生,为什么?

时间:2015-04-23 16:18:43

标签: javascript google-maps google-maps-api-3

以下是最小的工作示例:



    <!DOCTYPE html>
    <html>
    <head>
    <title>Simple Map</title>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no">
    <meta charset="utf-8">
    <style>
      html, body, #map-canvas {
        height: 100%;
        margin: 0px;
        padding: 0px
      }
    </style>
    <script src="https://maps.googleapis.com/maps/api/js?v=3.exp"></script>
    <script>
      var map;
      function initialize() {

        var mapOptions = {
            center: new google.maps.LatLng(37.743411, -121.93062500000002),
            tilt:45,
            zoom: 25,
            mapTypeId: google.maps.MapTypeId.SATELLITE
        };

        map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
      }

      google.maps.event.addDomListener(window, 'load', initialize);

    </script>
    </head>
    <body>
      <div id="map-canvas"></div>
    </body>
    </html>
&#13;
&#13;
&#13;

尝试刷新它,第一张地图显示正确的45度倾斜,然后在第二个切换到0度视图时自动显示。为什么会这样?显然这个位置的45度地图是可用的,为什么它没有正确显示?在某个地方,它按预期工作,在某个地方它被这样做了。

2 个答案:

答案 0 :(得分:1)

在给定位置,确实可以使用45°图像。

决定是否使用这些图像将由API完成,就像调用viewportService一样(您将在网络标签中看到这些调用)

通过ABE阻止对https://maps.googleapis.com/maps/api/js/ViewportInfoService*的调用,我甚至可以获得给定位置的45°视图(当然这不是解决方案)。

我无法告诉你为什么谷歌不提供45°视图,可能是因为版权(当你向右平移地图直到你看到45°视图时你会注意到版权声明在右下角改变)。

我担心你必须按原样服用它。

答案 1 :(得分:0)

根据list of 45° imagery on Google Maps,我们还不支持new google.maps.LatLng(37.743411, -121.93062500000002)。但是,我也可以看到发生了什么。它正在渲染倾斜图像,然后它又回来了。但是,它只会在您设置heading: 0时出现,标题为45和90似乎具有相同的图像...所以我只能说他们仍在准备45°图像这个位置。