首页 / 浏览问题 / 云GIS / 问题详情
IclientForAndroid在地图上标记点
4EXP 2017年05月09日

在android中跟标注有关的的代码:

mapView.getOverlays().add(new  MyOverlayItem(getDrawable(R.mipmap.point_marker)));

 class MyOverlayItem extends ItemizedOverlay {
    private ArrayList<OverlayItem> mOverlayList = new ArrayList<OverlayItem>();

    public MyOverlayItem(Drawable drawable) {
        super(drawable);
       double A =113.2;
       double B =23.02;

        Point2D point2D = new Point2D( A , B);
        mOverlayList.add(new OverlayItem( point2D, "A", "B"));

    }

    @Override
    protected OverlayItem createItem(int i) {
        return mOverlayList.get(i) ;
    }

    @Override
    public int size() {
        return mOverlayList.size();
    }
}
标记的图片我放在mipmap-hdpi目录下,运行的时候没报错,但是就是不显示标记,求解决!

1个回答

在图层上添加标注时用ItemizedOverlay下的子类DefaultItemizedOverlay来添加,具体实现代码片段

private DefaultItemizedOverlay blueMarkerOverlay = null; 
private MarkerConfigDialog markerConfigDialog = null; 
//绘制绿色marker 
Drawable drawableBlue = getResources().getDrawable(R.drawable.blue_pin); 
blueMarkerOverlay = new DefaultItemizedOverlay(drawableBlue); 
mapView.getController().setZoom(6); 
mapView.getController().setCenter(new Point2D(116.391468, 39.904491)); 
mapView.addMapViewEventListener(new MapViewEventAdapter()); 
TouchOverlay touchOverlay = new TouchOverlay(); 
mapView.getOverlays().add(touchOverlay); 
mapView.getOverlays().add(blueMarkerOverlay); 

完整的可以参考解压包下的samples中的iclient-android-map工程中的OverlayEventDemo.java文件中的代码。

2,042EXP 2017年05月10日
...