地图未在OPEN STREET MAP中显示

时间:2016-01-02 10:32:53

标签: android openstreetmap osmdroid

我想用标记显示地图。我在项目的lib文件夹中添加了以下库:

  1. osmdroid-机器人-3.8.0.jar
  2. SLF4J-机器人-1.5.8.jar
  3. 但只有Marker显示而Map没有显示..

    我的代码是:

    public class MainActivity extends Activity
    {
      private MapView myOpenMapView;
     private MapController myMapController;
    
     ArrayList<OverlayItem> anotherOverlayItemArray;
    
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    
    
    
         myOpenMapView = (MapView)findViewById(R.id.openmapview);
            myOpenMapView.setBuiltInZoomControls(true);
            myMapController = myOpenMapView.getController();
            myMapController.setZoom(2);
    
            //--- Create Another Overlay for multi marker
            anotherOverlayItemArray = new ArrayList<OverlayItem>();
            anotherOverlayItemArray.add(new OverlayItem(
              "0, 0", "0, 0", new GeoPoint(0, 0)));
            anotherOverlayItemArray.add(new OverlayItem(
              "US", "US", new GeoPoint(38.883333, -77.016667)));
            anotherOverlayItemArray.add(new OverlayItem(
              "China", "China", new GeoPoint(39.916667, 116.383333)));
            anotherOverlayItemArray.add(new OverlayItem(
              "United Kingdom", "United Kingdom", new GeoPoint(51.5, -0.116667)));
            anotherOverlayItemArray.add(new OverlayItem(
              "Germany", "Germany", new GeoPoint(52.516667, 13.383333)));
            anotherOverlayItemArray.add(new OverlayItem(
              "Korea", "Korea", new GeoPoint(38.316667, 127.233333)));
            anotherOverlayItemArray.add(new OverlayItem(
              "India", "India", new GeoPoint(28.613333, 77.208333)));
            anotherOverlayItemArray.add(new OverlayItem(
              "Russia", "Russia", new GeoPoint(55.75, 37.616667)));
            anotherOverlayItemArray.add(new OverlayItem(
              "France", "France", new GeoPoint(48.856667, 2.350833)));
            anotherOverlayItemArray.add(new OverlayItem(
              "Canada", "Canada", new GeoPoint(45.4, -75.666667)));
    
            ItemizedIconOverlay<OverlayItem> anotherItemizedIconOverlay 
             = new ItemizedIconOverlay<OverlayItem>(
               this, anotherOverlayItemArray, null);
            myOpenMapView.getOverlays().add(anotherItemizedIconOverlay);
            //---
    
            //Add Scale Bar
            ScaleBarOverlay myScaleBarOverlay = new ScaleBarOverlay(this);
            myOpenMapView.getOverlays().add(myScaleBarOverlay);
        }
    
    }
    

1 个答案:

答案 0 :(得分:0)

我得到了解决方案。我只是添加以下行,它现在显示地图

myOpenMapView.setTileSource(TileSourceFactory.MAPQUESTOSM);