[問題] 在mapview上新增很多自己寫的layout

看板AndroidDev作者 (歐樂B)時間13年前 (2011/08/13 00:50), 編輯推噓1(1010)
留言11則, 2人參與, 最新討論串1/1
因為想在mapview上新增很多balloon對話框 然後自己也畫了一個balloon的layout 但是使用for迴圈新增後 顯然是不行的 因為system err會叫我要removeView() 所以這樣明顯只能用一個 有甚麼好方法呢?? for(int i=0;i<c.getCount();i++){ id[i] = String.valueOf(c.getInt(0)); //以下是撈資料 name[i] = c.getString(5); latitude[i] = c.getString(6); longitude[i] = c.getString(7);//以上是撈資料 double lat =Double.parseDouble(latitude[i])*1E6; double lon =Double.parseDouble(longitude[i])*1E6; GeoPoint gp = new GeoPoint((int)lat,(int)lon); bubblelayout noteBaloon = (bubblelayout) layoutInflater.inflate( .layout.overlay_bubble, null);//修改處 ((TextView) noteBaloon.findViewById(R.id.note_label)).setText(name[i]); mMapView.addView(noteBaloon, new MapView.LayoutParams(280, 100, gp, MapView.LayoutParams.BOTTOM_CENTER)); mMapView.setEnabled(true); c.moveToNext(); } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.224.48.94

08/13 07:07, , 1F
可以疊很多層啊 看你是要一層一個點 還是要一層多個點都可
08/13 07:07, 1F

08/13 07:08, , 2F
不過,如果你是很多點要顯示,一層多點會比較理想
08/13 07:08, 2F

08/13 07:09, , 3F
你的問題出在...一個MapViewActivity裡面,只能允許有一個
08/13 07:09, 3F

08/13 07:10, , 4F
MapView,所以你不應該是用MapView.addView(MapView)
08/13 07:10, 4F

08/13 07:12, , 5F
而是要用 MapView.getOverlays().add(Overlay)
08/13 07:12, 5F

08/13 12:14, , 6F
不好意思,那要怎麼在overlay放上layout呢??
08/13 12:14, 6F

08/13 14:03, , 7F
overlay裡面要放layout?
08/13 14:03, 7F
※ 編輯: oralB 來自: 61.224.48.94 (08/13 14:36)

08/13 14:37, , 8F
我發現我現在可以新增很多layout了,因為notebaloon是我寫的
08/13 14:37, 8F

08/13 14:38, , 9F
extands linearlayout,把他宣告在for迴圈裡就好,變區域
08/13 14:38, 9F
※ 編輯: oralB 來自: 61.224.48.94 (08/13 14:40)

08/13 14:41, , 10F
像我上面已經加的那一行,但是問題來了,我的layout有button
08/13 14:41, 10F

08/13 14:41, , 11F
這樣寫反而不能控制那個BUTTON了= =
08/13 14:41, 11F
文章代碼(AID): #1EHLdYuo (AndroidDev)
文章代碼(AID): #1EHLdYuo (AndroidDev)