Java 以编程方式创建mapView
我想以编程方式实例化MapView。我用的是Osmdroid。我写了这个,但地图不显示(无论是否设置参数)!怎么了Java 以编程方式创建mapView,java,android,android-mapview,instantiation,osmdroid,Java,Android,Android Mapview,Instantiation,Osmdroid,我想以编程方式实例化MapView。我用的是Osmdroid。我写了这个,但地图不显示(无论是否设置参数)!怎么了 LinearLayout contentLayout = (LinearLayout) findViewById(R.id.contentLayout); m_mapView = new MapView(this, 10); org.osmdroid.views.MapView.LayoutParams mapParams = new org.osmdr
LinearLayout contentLayout = (LinearLayout) findViewById(R.id.contentLayout);
m_mapView = new MapView(this, 10);
org.osmdroid.views.MapView.LayoutParams mapParams = new org.osmdroid.views.MapView.LayoutParams(
org.osmdroid.views.MapView.LayoutParams.MATCH_PARENT,
org.osmdroid.views.MapView.LayoutParams.MATCH_PARENT,
null, 0, 0, 0);
m_mapView.setBuiltInZoomControls(true);
m_mapView.setMultiTouchControls(false);
mapController = this.m_mapView.getController();
mapController.setZoom(MAP_DEFAULT_ZOOM);
m_mapView.getController().setCenter( new GeoPoint(MAP_DEFAULT_LATITUDE, MAP_DEFAULT_LONGITUDE));
m_mapView.invalidate();
contentLayout.addView(m_mapView,mapParams);
我真的很想帮助你,因为你的帖子帮助我解决了以编程方式显示osmdroid映射的问题:我像你一样将映射视图添加到线性布局中,但没有像你那样包含布局参数,映射变成空白。谢谢大家! 我认为您的问题在于没有指定磁贴源。这是我使用的代码,它成功地绘制了地图。除了添加一个平铺源、用值替换常量以及将变量名mapController更改为m_mapController之外,它与您的完全相同,我假设它的定义与您的mapView相同。我只是不想让任何人认为它是在方法中定义的,没有显示出来
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LinearLayout contentLayout = (LinearLayout) findViewById(R.id.contentLayout);
m_mapView = new MapView(this, 10);
m_mapView.setTileSource(TileSourceFactory.MAPNIK);
org.osmdroid.views.MapView.LayoutParams mapParams = new org.osmdroid.views.MapView.LayoutParams(
org.osmdroid.views.MapView.LayoutParams.MATCH_PARENT,
org.osmdroid.views.MapView.LayoutParams.MATCH_PARENT,
null, 0, 0, 0);
m_mapView.setBuiltInZoomControls(true);
m_mapView.setMultiTouchControls(false);
m_mapController = this.m_mapView.getController();
m_mapController.setZoom(15);
m_mapView.getController().setCenter( new GeoPoint(51496994, -134733));
m_mapView.invalidate();
contentLayout.addView(m_mapView, mapParams);
}
当我开始使用osmdroid时,我就使用了它,当我在野草中进行修改时,它可以很好地检查我的理智
我希望这有助于。。。再次感谢你给我的提示 我真的很想帮助你,因为你的帖子帮助我解决了以编程方式显示osmdroid映射的问题:我像你一样将映射视图添加到线性布局中,但没有像你那样包含布局参数,映射变成空白。谢谢大家! 我认为您的问题在于没有指定磁贴源。这是我使用的代码,它成功地绘制了地图。除了添加一个平铺源、用值替换常量以及将变量名mapController更改为m_mapController之外,它与您的完全相同,我假设它的定义与您的mapView相同。我只是不想让任何人认为它是在方法中定义的,没有显示出来
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LinearLayout contentLayout = (LinearLayout) findViewById(R.id.contentLayout);
m_mapView = new MapView(this, 10);
m_mapView.setTileSource(TileSourceFactory.MAPNIK);
org.osmdroid.views.MapView.LayoutParams mapParams = new org.osmdroid.views.MapView.LayoutParams(
org.osmdroid.views.MapView.LayoutParams.MATCH_PARENT,
org.osmdroid.views.MapView.LayoutParams.MATCH_PARENT,
null, 0, 0, 0);
m_mapView.setBuiltInZoomControls(true);
m_mapView.setMultiTouchControls(false);
m_mapController = this.m_mapView.getController();
m_mapController.setZoom(15);
m_mapView.getController().setCenter( new GeoPoint(51496994, -134733));
m_mapView.invalidate();
contentLayout.addView(m_mapView, mapParams);
}
当我开始使用osmdroid时,我就使用了它,当我在野草中进行修改时,它可以很好地检查我的理智
我希望这有助于。。。再次感谢你给我的提示