所以我设法通过扩展Activity来更好地理解OSMDRoID的工作原理.
@H_403_4@public class POfflineMapVIEw extends Activity implements LocationListener, MapVIEwConstants{ private MapVIEw myOpenMapVIEw; private OsmMapsitemizedoverlay mitemizedoverlay; private ResourceProxy mResourceProxy; private OverlayItem overlayItem; private ArrayList<OverlayItem> mItems = new ArrayList<OverlayItem>(); @OverrIDe public voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mResourceProxy = new DefaultResourceProxyImpl(getApplicationContext()); setContentVIEw(R.layout.offline_map_activity); myOpenMapVIEw = (MapVIEw) findVIEwByID(R.ID.openmapvIEw); myOpenMapVIEw.getTileProvIDer().clearTileCache(); //.... code continues }}
但是,我很难找到使用Fragments实现使用OSMDRoID Maptiles显示的示例(例如,SherlockMapFragment).有谁知道如何实现这一点,或者是否能够为我提供示例实施指南?
我需要这样做,因为我有一个Activity容器,当我点击某个按钮时,我想做一个片段.replace()来代替用OSMDRoID地图片段代替容器.
谢谢!
解决方法:
无论您是在Activity还是Fragment中使用它,osmdroID地图视图的工作方式都是相同的.只需将它放在您的布局文件中并在Fragment中膨胀它,或者直接在Fragment的onCreateVIEw方法中创建MapVIEw.
要创建包含默认地图的片段,您可以执行以下 *** 作:
@H_403_4@@OverrIDepublic VIEw onCreateVIEw(LayoutInflater inflater, VIEwGroup container, Bundle savedInstanceState) { return new MapVIEw(getActivity(), 256);}
在你的片段类中.
如果您想使用包含MapVIEw的布局,您可以在片段中执行以下 *** 作:
@H_403_4@@OverrIDepublic VIEw onCreateVIEw(LayoutInflater inflater, VIEwGroup container, Bundle savedInstanceState) { VIEw v = inflater.inflate(R.layout.offline_map_activity, null); myOpenMapVIEw = v.findVIEwByID(R.ID.openmapvIEw); return v;}
总结 以上是内存溢出为你收集整理的android – 将OSMDroid与Fragments集成全部内容,希望文章能够帮你解决android – 将OSMDroid与Fragments集成所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)