我只能做这种效果图。。其实它的外框可以用图片代替 然后触发ImageButton.OnClickListener()去传值到下个Activity。
在draw()里面自定义2个方法 一个地图上表示图片具体位置,另外一个就是窗口里出现的东西 比如文字 图片。
急匆匆路过不知道这思想适合你不。。

解决方案 »

  1.   

    楼上的效果很不错,是否给个例子呢?我的qq 379953191,邮箱[email protected]给发个例子呗
      

  2.   


            private void addShopIcon(){
    GeoPoint geoBeiJing = new GeoPoint((int) 39.95 * 1000000,
    (int) 116.37 * 1000000);
    Drawable shopIcon = this.getResources().getDrawable(R.drawable.shop);
    MyShopOverlay myOverlay = new MyShopOverlay(shopIcon);
    OverlayItem item1 = new OverlayItem(geoBeiJing, storeName, address);
    // item1.setMarker(shopIcon);
    myOverlay.addItem(item1);
    map.getOverlays().add(myOverlay);
    }
            protected class MyShopOverlay extends ItemizedOverlay<OverlayItem>{

    public MyShopOverlay(Drawable defaultMarker) {
    super(boundCenterBottom(defaultMarker));
    } private ArrayList<OverlayItem> overlayItems = new ArrayList<OverlayItem>(); @Override
    protected OverlayItem createItem(int i) {
    return overlayItems.get(i);
    } @Override
    public int size() {
    return overlayItems.size();
    }

    public void addItem(OverlayItem item){
    overlayItems.add(item);
    this.populate();
    }// @Override
    // public void draw(Canvas canvas, MapView mapView, boolean shadow) {
    // Projection proj = map.getProjection();
    // for(OverlayItem item:overlayItems){
    // //title
    // String title = item.getTitle();
    // //snippet
    // String snippet = item.getSnippet();
    // //geopoints to pixels
    // Point point = proj.toPixels(item.getPoint(), null);
    // }
    // super.draw(canvas, mapView, shadow);
    // }

     }