有没有办法让离线地图不需要第一次网络连接才能缓存一些地图数据?
首先我使用谷歌地图,但它似乎只缓存了一些瓷砖,如果没有互联网连接,它不会在第一次启动时加载任何东西
之后我尝试了osmdroid,它足够接近谷歌地图逻辑,但我找不到使用资产文件夹的方法,而不是使用预先安装的sdk文件夹。如果用户平板电脑没有SD卡怎么办? 我确实需要一个适用于任何平板电脑的全球解决方案。
我只需要一个国家的瓷砖而不是整个世界!
到目前为止,这是我的代码
MapView mapView = new MapView(this, 256); //constructor
mapView.setClickable(true);
mapView.setBuiltInZoomControls(true);
mapView.setTileSource(TileSourceFactory.DEFAULT_TILE_SOURCE);
setContentView(mapView); //displaying the MapView
mapView.getController().setZoom(6); //set initial zoom-level, depends on your need
mapView.getController().setCenter(new GeoPoint(37.9513589,23.6474895)); //This point is in Enschede, Netherlands. You should select a point in your map or get it from user's location.
mapView.setUseDataConnection(false);
我在资产/ MapQuest / z / x / y.jpg
上有我的牌奇怪的是,在那个链接中:https://github.com/osmdroid/osmdroid/wiki/Map-Sources它说:
“平铺源”确定显示的图像集,例如Bing,Mapquest,Mapnik等。默认的平铺提供程序,在下面搜索您的平铺源,资产,脱机zip / sqlite /等(/ sdcard / osmdroid) ),下载瓷砖缓存(/ sdcard / osmdroid / tiles),然后最后下载。
答案 0 :(得分:0)
是的,你可以。两种策略
注意:#1通常更快。