是否有可能使用开放街道地图提供商与Android上的新的谷歌地图V2 API? 如果是这样,你可以提供一个例子,或文档? 我已经在文档快速看了一下,发现UrlTileProvider() ,所以它看起来可能这是可能的。
奖金:是简单地使用由谷歌地图服务条款仍然束缚OSM瓦片MapFragment类?
是否有可能使用开放街道地图提供商与Android上的新的谷歌地图V2 API? 如果是这样,你可以提供一个例子,或文档? 我已经在文档快速看了一下,发现UrlTileProvider() ,所以它看起来可能这是可能的。
奖金:是简单地使用由谷歌地图服务条款仍然束缚OSM瓦片MapFragment类?
您需要扩展UrlTileProvider类,所以你可以定义OSM地图平铺的网址,并添加一个方块叠加这样的:
MyUrlTileProvider mTileProvider = new MyUrlTileProvider(256, 256, mUrl);
mMap.addTileOverlay(new TileOverlayOptions().tileProvider(mTileProvider));
随着网址这样的定义OSM:
String mUrl = "http://a.tile.openstreetmap.org/{z}/{x}/{y}.png";
该MyUrlTileProvider类:
public class MyUrlTileProvider extends UrlTileProvider {
private String baseUrl;
public MyUrlTileProvider(int width, int height, String url) {
super(width, height);
this.baseUrl = url;
}
@Override
public URL getTileUrl(int x, int y, int zoom) {
try {
return new URL(baseUrl.replace("{z}", ""+zoom).replace("{x}",""+x).replace("{y}",""+y));
} catch (MalformedURLException e) {
e.printStackTrace();
}
return null;
}
}
现在我想从OSM的地图平铺与离线模式,如果任何人得到一个快速的解决方案,请让我知道!
使用此方法时,请注意OSM瓷砖使用政策: http://wiki.openstreetmap.org/wiki/Tile_usage_policy
具体地“大量使用(例如分发使用瓦片从openstreetmap.org一个应用程序)是被禁止的未经允许”