如何在MapView上绘制谷歌地图上的预构建地图

时间:2011-08-17 22:04:42

标签: android google-maps android-mapview

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

3 个答案:

答案 0 :(得分:3)

正如您在我之前的回答中发布了更多信息(“但我不想解析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

答案 1 :(得分:0)

您可以使用Overlays

在地图上绘图

答案 2 :(得分:0)

查看本教程: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;
 }
}