Pat*_*ick 15 android google-maps openstreetmap google-maps-mobile google-maps-android-api-2
是否可以在Android上使用新的Google Maps V2 Api打开街道地图提供商?如果是这样,您能提供示例或文档吗?我已经快速查看了文档并找到了UrlTileProvider(),所以看起来这很可能.
奖励:只是使用MapFragment类,OSM图块仍然受Google Maps TOS的约束?
小智 23
您需要扩展UrlTileProvider类,以便您可以定义OSM平铺地图的URL并添加如下的平铺覆盖:
MyUrlTileProvider mTileProvider = new MyUrlTileProvider(256, 256, mUrl);
mMap.addTileOverlay(new TileOverlayOptions().tileProvider(mTileProvider));
Run Code Online (Sandbox Code Playgroud)
OSM的URL定义如下:
String mUrl = "http://a.tile.openstreetmap.org/{z}/{x}/{y}.png";
Run Code Online (Sandbox Code Playgroud)
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;
}
}
Run Code Online (Sandbox Code Playgroud)
我现在正试图从OSM获得离线模式的那些平铺地图,所以如果有人得到快速解决方案,请告诉我!
| 归档时间: |
|
| 查看次数: |
8684 次 |
| 最近记录: |