动态地在mapview上添加多个叠加层

时间:2013-02-12 06:33:49

标签: android google-maps android-mapview itemizedoverlay

我有一个mapView,我在GestureListener的帮助下设法在LongPress上获得了一个叠加层。我真正想要的是,我想逐个添加标记(带有相同的图标)。就像我想在地图上标记不同的位置(不是一次全部)。任何有关这方面的帮助都会很棒,因为我是MapView和Overlays的新手。

1 个答案:

答案 0 :(得分:1)

使用ItemizedOverlay类在特定的经度和纬度上添加drawable。

在MapActivity中写

GeoPoint your_point =(在此提供地理位置信息);

Drawable drawable = 。this.getResources()getDrawable(R.drawable.your_point_image);

HelloItemizedOverlay itemizedoverlay = new HelloItemizedOverlay(                         drawable,MapsActivity.this,mapView);                 GeoPoint point = new GeoPoint((int)(your_point.getLat()* 1E6),                         (int)(your_point.getLon()* 1E6));

OverlayItem overlayitem1 = new OverlayItem(your_point);

itemizedoverlay.addOverlay(overlayitem1);                 。调用MapView.getOverlays()添加(itemizedoverlay);

哪里

HelloItemizedOverlay扩展了ItemizedOverlay {

public HelloItemizedOverlay(Drawable defaultMarker,Activity context,             MapView mapView){         超级(boundCenterBottom(defaultMarker));         mContext = context;         this.mapView = mapView;

}

}

我是这样做的,而且很有效。