fork(1) download
  1. //將 marker 的資訊存成 HashMap,之後 InfoWindowAdapter 再從 MAP 裡面取值顯示。
  2. markerHashMap = new HashMap<String, ArrayList<MarkerInfo>>();
  3.  
  4. //依照座標矩陣的定位,新增 marker
  5. for (int i=0; i<target.length; i++){
  6. Marker mapMarker = ggMap.addMarker(new MarkerOptions()
  7. //設定 marker 圖片來源
  8. .icon(BitmapDescriptorFactory.fromBitmap(icon))
  9. //設定 marker 座標位置
  10. .position(new LatLng (target[i][0],target[i][1]))
  11. //marker 的標題
  12. .title(target_title[i])
  13. //marker 的敘述
  14. .snippet(target_description[i])
  15. // marker 的顯示圖片中心設定在 marker座標點上
  16. .anchor(0.5f, 0.5f));
  17.  
  18. //新建一個 ArrayList
  19. infos = new ArrayList<MarkerInfo>();
  20. //將 marker 的資訊添加進 ArrayList
  21. infos.add(new MarkerInfo(target_pic[i], target_title[i], target_description[i]));
  22. //最後,將這個 ArrayList 加到 HashMap 內標籤為 mapMarker 的 Id 的欄位。
  23. markerHashMap.put(mapMarker.getId(), infos);
  24.  
  25. //用以確認資料有正確的加入到 ArrayList
  26. Log.d("infos", ""+infos.size());
  27.  
  28. //監聽 Marker 的 click 事件。
  29. ggMap.setOnMarkerClickListener(new OnMarkerClickListener(){
  30.  
  31. @Override
  32. public boolean onMarkerClick(Marker marker) {
  33. // TODO Auto-generated method stub
  34. ArrayList<MarkerInfo> tempList = markerHashMap.get("marker.getId()");
  35.  
  36. // 以下為有問題的 code
  37. int pic = tempList.get(0).image;
  38. String title = tempList.get(0).title;
  39. String description = tempList.get(0).description;
  40. // 以上為有問題的 code
  41.  
  42. //設定 marker 的對話視窗,並且跳出自訂的 InfoWindow
  43. ggMap.setInfoWindowAdapter(new InfoAdapter(marker, pic, title, description));
  44. marker.showInfoWindow();
  45. return true;
  46. }
  47.  
  48. });
  49.  
  50. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
Main.java:2: error: class, interface, or enum expected
		markerHashMap = new HashMap<String, ArrayList<MarkerInfo>>();
		^
Main.java:5: error: class, interface, or enum expected
		for (int i=0; i<target.length; i++){
		^
Main.java:5: error: class, interface, or enum expected
		for (int i=0; i<target.length; i++){
		              ^
Main.java:5: error: class, interface, or enum expected
		for (int i=0; i<target.length; i++){
		                               ^
Main.java:19: error: class, interface, or enum expected
			infos = new ArrayList<MarkerInfo>();
			^
Main.java:21: error: class, interface, or enum expected
			infos.add(new MarkerInfo(target_pic[i], target_title[i], target_description[i]));
			^
Main.java:23: error: class, interface, or enum expected
			markerHashMap.put(mapMarker.getId(), infos);
			^
Main.java:26: error: class, interface, or enum expected
			Log.d("infos", ""+infos.size());
			^
Main.java:29: error: class, interface, or enum expected
			ggMap.setOnMarkerClickListener(new OnMarkerClickListener(){
			^
Main.java:32: error: class, interface, or enum expected
				public boolean onMarkerClick(Marker marker) {
				       ^
Main.java:37: error: class, interface, or enum expected
					int pic = tempList.get(0).image;
					^
Main.java:38: error: class, interface, or enum expected
					String title = tempList.get(0).title;
					^
Main.java:39: error: class, interface, or enum expected
					String description = tempList.get(0).description;
					^
Main.java:43: error: class, interface, or enum expected
					ggMap.setInfoWindowAdapter(new InfoAdapter(marker, pic, title, description));
					^
Main.java:44: error: class, interface, or enum expected
					marker.showInfoWindow();
					^
Main.java:45: error: class, interface, or enum expected
					return true;
					^
Main.java:46: error: class, interface, or enum expected
				}
				^
Main.java:50: error: class, interface, or enum expected
		}
		^
18 errors
stdout
Standard output is empty