使用Bing映射作为Google地图覆盖 - 任何人都可以帮助更新我的代码?

时间:2015-04-30 17:52:02

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

这听起来有点弱但是......我一直在使用Liam Corner的一个名为“谷歌地图操作系统”的javascript,我从一个关键字插件http://userscripts.org/scripts/review/84975获得(不再存在)

我从来没有真正理解剧本是如何运作的,但直到几周前它才运作良好。然后在1:50000和1:25000比例的详细的军械测量地图刚刚消失,这来自Bing映射并叠加到我的谷歌地图上。该脚本现在提供了一些非常平淡的地图图块,这些图块对我来说毫无用处。

覆盖映射的脚本的重要部分如下所示......

    Create: function (){
    var customMapLayer ={
        getTileUrl: function (pos, zoom){
            var serverID = (((pos.y & 1) << 1) + (pos.x & 1));
            var URL = "http://ecn.t" + serverID + ".tiles.virtualearth.net/tiles/r";

            for (i = zoom - 1; i >= 0; i--){
                URL = URL + (((((pos.y >> i) & 1) << 1) + ((pos.x >> i) & 1)));
            }

            // OS tiles are only available for zoom levels 12 - 16, otherwise fall back to standard Bing map tiles
            if (zoom >= 12){
                URL = URL + ".png?g=41&productSet=mmOS";
            }else{
                URL = URL + "?g=550&shading=hill";
            }

            return URL;
        },
        tileSize: new google.maps.Size(256, 256),
        isPng: true,
        maxZoom: 16,
        minZoom: 2,
        opacity: 1,
        name: "OS maps",
        alt: "OS 1:50k maps at Zoom 12-14, and 1:25k maps at Zoom 15-16"
    };
    window._gmaps_os_customMapType = new     google.maps.ImageMapType(customMapLayer);
    };

那么有没有办法解决它,以便它可以获得操作系统映射? 我知道Bing并没有完全撤回Ordnance Survey地图,因为我可以在Bing地图上看到它 - 例如https://www.bing.com/mapspreview?v=2&cp=53.755093~-1.661820&lvl=15&sty=s&form=LMLTCC

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

使用Bing地图控件之外的Bing地图中的地形测量地图数据违反使用条款。几周前,磁贴服务器被锁定,以防止在Bing Maps API之外使用这些磁贴。请注意,Ordnance Survey不允许将任何数据用于Google地图。这样做也违反了“军械测量”的使用条款。