标签: osmdroid

Osmdroid:如何从我自己的位图(图块)创建和加载地图?

我开始使用Osmdroid,我想使用这项技术来显示关于F1赛道的地图.我有一张大图,我可以把它切成小块.

我可以修改osmdroid库来上传这些图片吗?

我想在我的资源文件夹中保存这些位图(tile).

我很失落如何做到这一点.

我正在使用这种方式,因为当我尝试显示这个完整的全尺寸图片时,android通常会出现内存错误.如果我只显示图像的一些图块(取决于缩放),也许我的应用程序可以更好地工作?

提前致谢!

android offline tiles bitmap osmdroid

6
推荐指数
1
解决办法
3861
查看次数

使用osmdroid无需访问外部存储

在我的应用中,我使用osmdroid处理地图。地图图块已下载并保存在/ storage / osmdroid中。该应用程序需要权限WRITE_EXTERNAL_STORAGEREAD_EXTERNAL_STORAGE。如果我拒绝访问存储,则不会显示地图。有什么方法可以显示地图而无需访问手机内存?

storage android osmdroid android-permissions

6
推荐指数
3
解决办法
2458
查看次数

osmdroid地图不可见

我在Android中使用osmdroid来满足我的映射需求.直到几天前,我才能看到地图并且每件事情都没问题,但现在每次我的地图活动开始时,我都会得到一张空地图和以下内容:

 08-22 07:47:01.113: WARN/org.osmdroid.tileprovider.modules.MapTileDownloader(470): UnknownHostException downloading MapTile: /10/520/387 : java.net.UnknownHostException: Unable to resolve host "tile.openstreetmap.org": No address associated with hostname
08-22 07:47:01.133: WARN/org.osmdroid.tileprovider.modules.MapTileDownloader(470): UnknownHostException downloading MapTile: /10/516/387 : java.net.UnknownHostException: Unable to resolve host "tile.openstreetmap.org": No address associated with hostname
08-22 07:47:01.284: INFO/org.osmdroid.tileprovider.modules.MapTileModuleProviderBase(470): Tile loader can't continue
08-22 07:47:01.284: INFO/org.osmdroid.tileprovider.modules.MapTileModuleProviderBase(470): org.osmdroid.tileprovider.modules.MapTileModuleProviderBase$CantContinueException: java.net.UnknownHostException: Unable to resolve host "tile.openstreetmap.org": No address associated with hostname
08-22 07:47:01.284: INFO/org.osmdroid.tileprovider.modules.MapTileModuleProviderBase(470):     at org.osmdroid.tileprovider.modules.MapTileDownloader$TileLoader.loadTile(MapTileDownloader.java:197)
08-22 07:47:01.284: INFO/org.osmdroid.tileprovider.modules.MapTileModuleProviderBase(470):     at org.osmdroid.tileprovider.modules.MapTileModuleProviderBase$TileLoader.run(MapTileModuleProviderBase.java:239)
08-22 07:47:01.284: INFO/org.osmdroid.tileprovider.modules.MapTileModuleProviderBase(470):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1081)
08-22 07:47:01.284: INFO/org.osmdroid.tileprovider.modules.MapTileModuleProviderBase(470):     at …
Run Code Online (Sandbox Code Playgroud)

android osmdroid

5
推荐指数
1
解决办法
3989
查看次数

在Android上创建离线地图

我是Android应用程序开发的新手,我必须创建一个离线地图Android应用程序.

我使用Mobile Atlas Creator获取地图视图osmdroid .zip格式,我不知道如何在我的应用程序中添加它.

有人可以告诉我如何在我的应用程序中使用Osmdroid吗?如果您能提供逐步说明,我将不胜感激.

java eclipse android osmdroid

5
推荐指数
1
解决办法
6666
查看次数

OSMDROID有替代品吗?

使用多点触控进行缩放时,osmdroid的行为不正确.另外我在jar文件中发现了一些使用不同许可证的源代码,因此我不确定是否可以使用它.

android osmdroid

5
推荐指数
1
解决办法
5760
查看次数

如何在MapView上绘制多边形,填充它,并在其上放置一个onTouch事件

是否可以在osmdroid MapView Overlay中的绘制多边形中设置EventListener?我想在Overlay上打印,触摸后我想改变它的颜色或处理Polygon背后的数据.

例如:

Poly1:ID = 1337,P1(0,0),P2(1,0),......,Pn(0,0)

Poly2:ID = 42,P1(10,7),P2(18,39),......,Pn(10,7)

触摸Poly1后我想知道aha ID 1337被按下了.想要改变它的颜色.

我怎么能实现这样的行为?

android overlay polygon osmdroid android-mapview

5
推荐指数
1
解决办法
1350
查看次数

OsmDroid和MapQuest:我如何使用JPEG图块?

我是OSMOSMdroid的新手.

我正在按照这个非常好的教程来显示离线地图.基本上我所做的是:

  • 使用Mobile Atlas Creator创建了zip格式的tile包
  • 使用MapQuest源,JPEG格式
  • 将zip放入右侧文件夹: /mnt/sdcard/osmdroid/

问题是瓷砖没有渲染.我有一个空白页面.

我找到了这个解决方案来解决我的问题.

但现在,我不得不使用PNG文件,这需要更多的空间.它对我的应用程序来说效率不高,因为用户必须下载更大的包.

我的问题是:如何在OSMDroid和MapQuest中使用JPEG图块?

提前致谢.

maps android offline osmdroid mapquest

5
推荐指数
1
解决办法
2880
查看次数

不使用带有MBTiles文件的osmdroid在Android离线地图应用上显示磁贴

我需要开发一个Android应用程序,需要显示地图,但必须一直在线下工作,地图对应一个小城市,浏览了一下我偶然发现osmdroid,这与小.mbtiles文件的使用似乎理想的,事实上我用这个好帖子来帮助我.

运行示例应用程序后,MapView显示但没有显示,只有默认灰色图块.我能找到的唯一类似于错误的是调试器上的以下片段:

09-26 16:55:53.931      353-353/com.example.myfirstapp2        I/dalvikvm: Could not find method org.osmdroid.views.MapView.getScaleX, referenced from method org.osmdroid.views.overlay.SafeDrawOverlay.draw
09-26 16:55:53.931      353-353/com.example.myfirstapp2        W/dalvikvm: VFY: unable to resolve virtual method 1476: Lorg/osmdroid/views/MapView;.getScaleX ()F
Run Code Online (Sandbox Code Playgroud)

任何帮助赞赏.

android map osmdroid mbtiles

5
推荐指数
0
解决办法
921
查看次数

OSMdroid绑定标记

//// OSMdroid以标记为中心////

我添加标记,我需要以所有标记都可见的方式映射最大增加或减少

我的代码:

public class mapcode extends Activity {
    globalvar appState;
    int stats=0;
    private MapView mapView;
    private IMapController mapController;
    private SimpleLocationOverlay mMyLocationOverlay;
    private ScaleBarOverlay mScaleBarOverlay;  
    ItemizedIconOverlay<OverlayItem> currentLocationOverlay;
    DefaultResourceProxyImpl resourceProxy;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
        setContentView(R.layout.map);

        appState = ((globalvar) getApplicationContext());





        mapView = (MapView) this.findViewById(R.id.mapview);  
        mapView.setTileSource(TileSourceFactory.MAPNIK);
      //  mapView.setBuiltInZoomControls(true); //?????? ZOOM +-
        mapView.setMultiTouchControls(true);

        mapController = this.mapView.getController();
        mapController.setZoom(2);

        this.mMyLocationOverlay = new SimpleLocationOverlay(this);                          
        this.mapView.getOverlays().add(mMyLocationOverlay);

        this.mScaleBarOverlay = new ScaleBarOverlay(this);                          
        this.mapView.getOverlays().add(mScaleBarOverlay);
//      this.mapView

        /////////////////
        resourceProxy = new DefaultResourceProxyImpl(getApplicationContext());
        GeoPoint  currentLocation = new GeoPoint(55.860863,37.115046); 
        GeoPoint …
Run Code Online (Sandbox Code Playgroud)

osmdroid

5
推荐指数
1
解决办法
3034
查看次数

OSMDroid 加载图块的速度非常慢

我使用的是 osmdroid 版本 5.6.5(最新版本),地图的图块(MAPNIK)加载非常缓慢。

这发生在我尝试使用该应用程序的两台设备上,均具有高速互联网连接(蜂窝和 WIFI)。

这似乎是某个地方的问题,因为加载不可能那么慢

这是活动中地图的代码片段:

@Override
protected void onCreate( Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    appContext = getApplicationContext();

    //important! set your user agent to prevent getting banned from the osm servers
    Configuration.getInstance().load(appContext, PreferenceManager.getDefaultSharedPreferences(appContext));
    setContentView(R.layout.navigation);

    mMapView = (MapView) findViewById(map);
    mMapView.setTileSource(TileSourceFactory.MAPNIK);
    mMapView.setMultiTouchControls(true);
    mMapView.setBuiltInZoomControls(true);

    // add rotation gesture
    mRotationGestureOverlay = new RotationGestureOverlay(this, mMapView);
    mRotationGestureOverlay.setEnabled(true);
    mMapView.setMultiTouchControls(true);
    mMapView.getOverlays().add(this.mRotationGestureOverlay);



    // Set to default location
    IMapController mapController = mMapView.getController();
    mapController.setZoom(15);
    GeoPoint startPoint = new GeoPoint(48.8589654,2.2926013);
    mapController.setCenter(startPoint);
}
Run Code Online (Sandbox Code Playgroud)

我似乎无法找到这种缓慢加载的原因。是否可以选择使用更简单的地图?那会有帮助吗?有没有其他解决方案,我做错了什么?

谢谢。

android openstreetmap osmdroid

5
推荐指数
1
解决办法
1173
查看次数