3

重複の可能性:
Android マップ上の iPhone のような注釈

Google マップを使用するアプリケーションを実装しています。現時点では、Google マップで場所をマークすることに成功しています。しかし、私が正確に必要としているのは、Google マップの位置の上にタイトルを設定することです。下の画像のように。

誰でも私を助けることができますか?ありがとう。

ここに画像の説明を入力

4

3 に答える 3

2

基本的に Mapview Ballons と呼ばれます。参考までに、github で開発したサンプル プロジェクトを以下に示します。私のプロジェクトで大いに役立ちます。

マップビュー バルーン

お役に立てば幸いです。

于 2012-12-04T04:55:56.327 に答える
0

onTap メソッドを使用すると、ItemizedOverlay で Alertbox/Dialog ボックスを使用できます。

好きな場所をいくつでもマークでき、Google マップの位置の上にタイトルを設定できます。

例えば

    public void onCreate(Bundle b)
    {
        super.onCreate(b);
        try{  

            setContentView(R.layout.main);
            System.out.println(""+lati+place+longi+position.get(0)+position.size());
            mapView=(MapView)findViewById(R.id.map_view);
            mapView.setBuiltInZoomControls(true); 

            mc = mapView.getController();
            mc.setZoom(12);

            drae=this.getResources().getDrawable(R.drawable.ic_launcher);
            test tt=new test(drae,this);        
            tt.addit(latitude,longitude, place_name);
            tt.addit(latitude1,longitude1, place_name1);
            mapView.getOverlays().add(tt);
            System.out.println(ii);

            break;
        }


        default:
            System.out.println(position.size());
        }
    }
}

        }catch (Exception e) {
          System.out.println(e.getMessage());
        } 
    }

    @Override
    protected boolean isRouteDisplayed() {
        return false;
    }

    class test extends ItemizedOverlay
    {
        List<OverlayItem>overLayItem=new ArrayList<OverlayItem>();
        Context con;
        public test(Drawable drae,Context con) {

            super(boundCenterBottom(drae));
            testt(con);
        }

        void testt(Context con)
        {
            this.con=con;
        }
        @Override
        protected OverlayItem createItem(int i) {
            return overLayItem.get(i);
        }

        @Override
        public int size() {
            return overLayItem.size();
        }

        protected boolean onTap(int index) {
            // TODO Auto-generated method stub
            OverlayItem ir=overLayItem.get(index);
            AlertDialog.Builder dia=new AlertDialog.Builder(con);
            dia.setTitle(ir.getTitle());
            dia.setMessage(ir.getSnippet());
            dia.setPositiveButton("close",new  DialogInterface.OnClickListener() {

                public void onClick(DialogInterface dialog, int which) {
                    // TODO Auto-generated method stub
                    dialog.dismiss();
                }
            });
            dia.show();
            return true;
        }


        public void additem(OverlayItem item)
        {
            overLayItem.add(item);
            populate();
        }
        public void addit(int l,int g,String s)
        {
            GeoPoint po=new GeoPoint(l, g);
            OverlayItem it=new OverlayItem(po,s,null);
            additem(it);
        }
    }
}
于 2012-12-04T05:00:27.453 に答える
0

リリースされたばかりの新しいGoogle Maps Android API v2をご覧ください。これにより、情報ウィンドウ (タイトルとスニペットを含む) にマーカーを追加することがはるかに簡単になります。例については、ドキュメントを参照してください。

于 2012-12-04T05:28:56.153 に答える