【问题标题】:How to plot a pre-build map from google maps on a MapView如何在 MapView 上从谷歌地图绘制预构建地图
【发布时间】:2011-08-17 22:04:41
【问题描述】:

我正在尝试从链接 (http://maps.google.com/maps/ms?msid=216892338463540803496.000494dd57eb5ebce6db2&msa=0) 读取地图并将其绘制在 MapView 上,这可能吗?

【问题讨论】:

    标签: android google-maps android-mapview


    【解决方案1】:

    正如您在我之前的回答中发布的更多信息(“但我不想解析 KML 并逐点绘制。我想知道是否有办法一次绘制所有内容” ),我现在可以重新定义我的答案了。

    您应该尝试这些线路并根据您的需要进行调整:

    Intent mapIntent = new Intent(Intent.ACTION_VIEW); 
    Uri uri1 = Uri.parse("geo:0,0?q=http://code.google.com/apis/kml/ 
    documentation/KML_Samples.kml"); 
    mapIntent.setData(uri1); 
    startActivity(Intent.createChooser(mapIntent, "Sample")); 
    

    很遗憾,您无法进行任何控制,因为这不是 MapActivity。 如果您打算在地图上添加更多内容,则必须尝试我的第一个建议并自己解析 kml!

    类似问题:How to use kml file on mapView in Android

    【讨论】:

      【解决方案2】:

      你可以用Overlays在地图上画画

      【讨论】:

      • 但是是否可以一次绘制所有地图点,或者我应该解析 kml 以一一绘制?
      【解决方案3】:

      看这个教程:http://codemagician.wordpress.com/2010/05/06/android-google-mapview-tutorial-done-right/

      @Override
       public void onCreate(Bundle savedInstanceState)
       {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.main);
      
       MapView mapView = (MapView) findViewById(R.id.mapview);
       mapView.setBuiltInZoomControls(true);
      
       List<Overlay> mapOverlays = mapView.getOverlays();
       Drawable drawable = this.getResources().getDrawable(R.drawable.icon);
       HelloItemizedOverlay itemizedoverlay = new HelloItemizedOverlay(drawable,this);
       GeoPoint point = new GeoPoint(30443769,-91158458);
       OverlayItem overlayitem = new OverlayItem(point, "Laissez les bon temps rouler!", "I'm in Louisiana!");
      
       GeoPoint point2 = new GeoPoint(17385812,78480667);
       OverlayItem overlayitem2 = new OverlayItem(point2, "Namashkaar!", "I'm in Hyderabad, India!");
      
       itemizedoverlay.addOverlay(overlayitem);
       itemizedoverlay.addOverlay(overlayitem2);
      
       mapOverlays.add(itemizedoverlay);
       }
       @Override
       protected boolean isRouteDisplayed()
       {
       return false;
       }
      }
      

      【讨论】:

      • 但我不想解析 KML 并逐点绘制。我想知道是否有办法一次绘制所有内容
      • 也许您的问题超过 3 行...当您提出问题时,您应该真正描述您的需求,我们无法猜测您的想法 ;-)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-18
      • 2011-12-03
      • 2013-06-23
      相关资源
      最近更新 更多