【发布时间】:2011-08-17 22:04:41
【问题描述】:
我正在尝试从链接 (http://maps.google.com/maps/ms?msid=216892338463540803496.000494dd57eb5ebce6db2&msa=0) 读取地图并将其绘制在 MapView 上,这可能吗?
【问题讨论】:
标签: android google-maps android-mapview
我正在尝试从链接 (http://maps.google.com/maps/ms?msid=216892338463540803496.000494dd57eb5ebce6db2&msa=0) 读取地图并将其绘制在 MapView 上,这可能吗?
【问题讨论】:
标签: android google-maps android-mapview
正如您在我之前的回答中发布的更多信息(“但我不想解析 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!
【讨论】:
你可以用Overlays在地图上画画
【讨论】:
看这个教程: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;
}
}
【讨论】: