如何在leaflet-cloudmade中使用Google Maps API

goF*_*ard 22 gis google-maps leaflet

有没有办法将Google地图与leaflet-cloudmade集成?我的意思是,我不想使用原始的cloudmade地图,但我想改用谷歌地图.我想要显示一张阿拉斯加地图(那里没有很多道路).如果我使用cloudmade地图,它将只是白色.

如果我想使用cloudmade map,这就是我要做的事情:

var cloudmade = new L.TileLayer('http://{s}.tile.cloudmade.com/YOUR-API-KEY/997/256/{z}/{x}/{y}.png', {
    attribution: 'Map data &copy; <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="http://cloudmade.com">CloudMade</a>',
    maxZoom: 18
});
Run Code Online (Sandbox Code Playgroud)

我知道我应该更改'http:// {s} .tile.cloudmade.com/YOUR-API-KEY/997/256/{z}/{x}/{y} .png'部分.但是,如果我想使用谷歌地图(或任何其他地图),我应该写在那里?

这是传单 - cloudmade的文档(他们没有说太多关于使用第三方地图提供者.他们说他们对我们的应用程序中使用的地图提供者不可知,所以我认为应该可以使用谷歌地图) .

Mar*_*tuc 23

官员leaflet.js插件页面引用由帕维尔Shramov插件包.
通过提供的Google.js,您可以使用Google Maps API v3访问Google地图图块,了解使用条款.

这是一个简单的例子:您可以通过首先添加来使用它

<script src="http://maps.google.com/maps/api/js?v=3.2&sensor=false"></script>
<script src="path/to/Google.js"></script>
Run Code Online (Sandbox Code Playgroud)

然后构建你的地图:

var map = new L.Map('map', {center: new L.LatLng(43.6481, -79.4042), zoom: 13});
var gmap_layer = new L.Google('ROADMAP');
map.addLayer(gmap_layer);
Run Code Online (Sandbox Code Playgroud)

注意:这个要点中还提到了一些叉子.


And*_*ach 14

谷歌不允许您使用他们的瓷砖而不使用他们自己的API来获取它们.请参阅一般条款:

不要滥用我们的服务.例如,不要...尝试使用除接口和我们提供的指令之外的方法来访问它们.

当然,任何事情都是可能的,因此可以在没有API的情况下获取磁贴,但是您的访问可能会在没有警告的情况下被阻止:

如果您不遵守我们的条款或政策,或者我们正在调查可疑的不当行为,我们可能会暂停或停止向您提供服务.

也就是说,单张API看起来并不十分从谷歌API不同,所以转换使用他们的API可能是值得考虑的.