Articles of osmdroid

限制用户可以在Mapview上访问的区域

我正在使用mapview的自定义版本(OSMDroid版本)。 我在其中使用自定义图块,我只希望用户能够查看我有自定义图块的区域。 有没有办法设置边界lat long,所以当它们平移地图时它不会超过这些边界?

osmdroid,Maps API v2和片段

好。 你会认为这会相对简单,但不是。 我在我的网站上使用Open街道地图,因为数据可以免费使用,编辑和更新 – 我的项目遵循这个咒语,除了googles API使用限制/保存数据限制,谷歌地图根本不适合我..至少在网上。 考虑到这一点,我以为我会跟随我的Android应用程序,所以我设置osmdroid利用开放的街道地图数据。 我可以在我的活动中有一个很好的地图..我也遵循一个教程,它似乎至少工作,我可以在tabhost / viewpager中的片段中有一个地图视图。 然而,我真正想要的(对于平板电脑)是左边一个片段中的机构列表,右边是一个地图片段,显示这些机构的位置。 很简单我会想到,但是数小时的研究表明,除非你使用一些复杂的代码和一些不赞成的方法,否则这是不可能的。 所以…片段(包含一个地图视图)在tabhost中完美地加载和运行..我可以从我的活动等访问片段中的方法..但没有什么可以简单地并排放置两个片段。 现在..我知道谷歌刚刚推出他们的API v2 ..我安装它并玩了..不知道osmdroid如何工作,我以为我可以更新所以我有MapFragment而不是SherlockFragment(我使用ABS)。这只是抛出logcat错误要求API密钥等..并且鉴于我不想使用谷歌地图数据,我认为我出错了。 所以..任何人都可以建议我如何使用市场上可用的任何东西并排获得列表片段和地图片段,但最好使用开源地图数据,这样他们就没有使用限制。 我确信全面概述“可用的东西及其工作原理”将受到大量用户的极大赞赏..所以,如果有人可以提供建议,那就太棒了!

如何在OSMdroid中获取Map Extent更改事件?

我在我的自定义Android应用程序中使用Osmdroid库。 在每个范围更改(以及放大地图时)我想查询sqlite数据库并获取该范围内的记录。 为此,我需要类似于Map Extent更改事件的内容。 我在MapView类上找不到这样的事件。 我如何实现我想做的事情? 更新我正在使用MapListner,如下所示: mapView.setMapListener(new MapListener() { public boolean onZoom(ZoomEvent arg0) { return false; } public boolean onScroll(ScrollEvent arg0) { onExtentChange(); return false; } } ); 但onScrollEvnt会针对地图的每个平移多次触发。 我如何获得最后或最后的scrollEvent?

OSMdroid将自定义图标添加到ItemizedOverlay

我正在使用ItemizedIconOverlay类,我当前正在地图上显示事件以及具有相同默认图标的用户位置。 如何更改每个叠加层的图标集? 是否有类似于google.maps示例的内容: drawable = getResources().getDrawable(R.drawable.marker); drawable3 = getResources().getDrawable(R.drawable.disruption); drawable2 = getResources().getDrawable(R.drawable.marker_me); itemizedOverlay = new MyItemizedOverlay(drawable, mapView); itemizedOverlay2 = new MyItemizedOverlay(drawable2, mapView); itemizedOverlay3 = new MyItemizedOverlay(drawable3, mapView); 我让每个itemizedOverlay都有自己的标记…… 如何使用Open Street Maps执行此操作? mResourceProxy = new DefaultResourceProxyImpl(getApplicationContext()); this.mMyLocationOverlay = new ItemizedIconOverlay(mItems, new Glistener(), mResourceProxy); 感谢您的帮助,遗憾的是,这个开源项目无法在线提供支持……

Android Mapview的替换使用WMS服务

我正在寻找Android MapView的替代品,因为我需要在地图视图中添加WMS服务,并且使用本机视图效果很差。 我尝试过使用Osmdroid API,但仍然没有成功。 这需要将几个java类修改为XYTileSource和BitmapTileSourceBase。 而且我不确定我能不能工作,因为我还没有find有关它的信息。 例如: https : //groups.google.com/forum/?fromgroups#!topic / osmdroid / IUcc4Q0DmOE Android Market中的应用程序可以使其完美地与OruxMaps一起工作,但没有用于开发的API。 🙁 任何人都知道如何以编程方式在另一个地图视图中使用WMS服务。

在android中显示形状文件或OSM文件作为地图

我想在android中实现一个室内导航应用程序。 我的第一个任务是在android中显示地图。 我已经创建了shape文件和OSM文件格式的室内地图。 •我使用QGIS创建了形状文件。 •我使用JOSM创建了OSM文件。 我找不到任何关于如何在android平台中将这些文件types显示为地图的指南。 我find了FootPath室内导航应用程序,它使用OSM地图图块作为地图。 我在Stack交换中发现了关于执行类似任务的这个问题 如何从OpenStreetMap离线创建地图图块,在Android上显示? 但是这个问题的答案并没有帮助我创建Map。特别是我必须使用移动地图集创建者创建图块的部分。我已经发布了对该问题的评论以澄清这一点。 我想知道是否还有其他办法可以做到这一点? 谁能帮我这个? 谢谢!

将叠加添加到osmdroid中的MapView

我正在使用osmdroid编写一个简单的android应用程序,可以在线工作,直到现在我能够显示地图(在线和离线),我想在地图上添加叠加(标记),我搜索了一个简单的使用示例覆盖在osmdroid中,我尝试了其中一些,但它们没有用,所以我想要任何使用osmdroid添加叠加层或marcker的例子

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

我开始使用Osmdroid,我想使用这项技术来显示关于F1赛道的地图。 我有一张大图,我可以将它剪切成更小的瓷砖。 我可以修改osmdroid库来上传这些图片吗? 我想在我的资源文件夹中保存这些位图(tile)。 我很失落如何做到这一点。 我正在使用这种方式,因为当我尝试显示这个完整的全尺寸图片时,android通常会出现内存错误。 如果我只显示图像的一些图块(取决于缩放),也许我的应用程序可以更好地工作? 提前致谢!

确定osm映射上的用户位置

我正在开发一个确定osm地图中用户位置的android应用程序。 我能够在地图上显示用户位置,但如果位置发生变化,则会重新加载整个地图,这有什么问题? 另外我如何才能提高用户位置的准确性? 如何根据准确度制作一个增加和减少的圆圈(如Google一样)? 代码: public class OsmDemoActivity extends Activity implements LocationListener, MapViewConstants { private MapView mMapView; private MapController mapController; private LocationManager mLocMgr; private ItemizedOverlay mMyLocationOverlay; private ResourceProxy mResourceProxy; ArrayList items; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mResourceProxy = new DefaultResourceProxyImpl(getApplicationContext()); setContentView(R.layout.main); //mMapView.setUseDataConnection(false); initilaizeMap(); //addOverlay(); mLocMgr = (LocationManager) getSystemService(LOCATION_SERVICE); mLocMgr.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this); } […]

OSMdroid – 错误:没有为Overlay(无参数)构造函数find合适的构造函数Overlay.Overlay(Context)不适用

同时在应用程序中扩展OSMdroid Overlay类 import org.osmdroid.views.overlay.Overlay; … public class MapOverlayArea extends Overlay implements TextToSpeech.OnInitListener, OnTouchListener { … 我收到一个错误: 错误:没有为Overlay(无参数)构造函数find合适的构造函数Overlay.Overlay(Context)不适用