【问题标题】:Google Map Hybrid and Aerial tiles missing谷歌地图混合和空中瓷砖丢失
【发布时间】:2014-11-18 11:08:57
【问题描述】:

我正在使用谷歌地图 API。我在使用 Google 底图时遇到问题。当我加载谷歌混合或天线时,它会给我以下结果。

https://www.dropbox.com/s/u51hegt7hu03gz9/Untitled.png?dl=0

地图上缺少一些图块。

缺少的图块:https://www.dropbox.com/s/5vlp86xf4iote32/Untitled2.png?dl=0

我的代码是:

google.maps.event.addListener(mapA, 'maptypeid_changed', function () {
        var mapTypeId = mapA.getMapTypeId();
        if (mapTypeId != "basemap")
            mapTileSource = [];
        if (mapTypeId == google.maps.MapTypeId.HYBRID) {
            mapTileSource.push("http://khm1.google.com/kh/v=134&x={0}&y={1}&z={2}&s=Gal");
            mapTileSource.push("http://mt0.google.com/vt/lyrs=h@177290279&hl=en&x={0}&y={1}&z={2}&s=Gal");
        }
        else if (mapTypeId == google.maps.MapTypeId.ROADMAP) {
            mapTileSource.push("http://mt1.google.com/vt/lyrs=m@113&hl=hu&x={0}&y={1}&z={2}&s=Gal");
        }
        else if (mapTypeId == google.maps.MapTypeId.SATELLITE) {
            mapTileSource.push("http://khm1.google.com/kh/v=134&x={0}&y={1}&z={2}&s=Gal");
        }
        else if (mapTypeId == google.maps.MapTypeId.TERRAIN) {
            mapTileSource.push("http://mt1.google.com/vt/lyrs=t@131,r@176163100&hl=en&x={0}&y={1}&z={2}&s=Gal");
        }
    });

视图中缺少一些图块。

我试过这个:

    function CoordMapType(tileSize) {
        debugger;
        this.tileSize = tileSize;
    }
    CoordMapType.prototype.getTile = function (coord, zoom, ownerDocument) {
        var div = ownerDocument.createElement('div');
        div.innerHTML = coord;
        div.style.width = this.tileSize.width + 'px';
        div.style.height = this.tileSize.height + 'px';
        div.style.fontSize = '10';
        div.style.borderStyle = 'solid';
        div.style.borderWidth = '1px';
        div.style.borderColor = '#AAAAAA';
        return div;
    };
    mapA.overlayMapTypes.insertAt(0, new CoordMapType(new google.maps.Size(256, 256)));

我也试过这个:

 google.maps.event.addListenerOnce(mapA, 'tilesloaded', function() {
            google.maps.event.addListenerOnce(mapA, 'tilesloaded', function() {
                google.maps.event.trigger(mapA, 'resize');
            });
});

但它们对我不起作用。

谁能告诉我如何在地图上加载所有图块?

谢谢

【问题讨论】:

    标签: google-maps-api-3 tiles missing-data


    【解决方案1】:

    尝试设置更高版本(m@或h@之后的数字等)并在浏览器中直接使用url(检查此版本中的tile是否存在)

    http://mt1.google.com/vt/lyrs=m@901000000&hl=en&x=4&y=10&z=5&s=Ga

    或检查您的缓存层(如果您使用)

    在我的 googleSatellite 选项中:

    得到错误 - http://khm0.google.com/kh/v=149&hl=en&x=18&y=9&z=5&s=Galileo

    ********* 好的 - http://khm0.google.com/kh/v=165&hl=en&x=18&y=9&z=5&s=Galileo

    【讨论】:

      【解决方案2】:

      这是一个带有 google maps 混合卫星视图的 mapbox 的工作示例:https://github.com/SnakeO/mapbox-with-google-maps-hybrid-tiles

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-08-11
        • 1970-01-01
        • 1970-01-01
        • 2012-06-30
        • 2012-07-12
        • 1970-01-01
        • 2014-06-27
        • 1970-01-01
        相关资源
        最近更新 更多