//將 marker 的資訊存成 HashMap,之後 InfoWindowAdapter 再從 MAP 裡面取值顯示。
markerHashMap
= new HashMap
<String, ArrayList
<MarkerInfo
>>();
//依照座標矩陣的定位,新增 marker
for (int i=0; i<target.length; i++){
Marker mapMarker = ggMap.addMarker(new MarkerOptions()
//設定 marker 圖片來源
.icon(BitmapDescriptorFactory.fromBitmap(icon))
//設定 marker 座標位置
.position(new LatLng (target[i][0],target[i][1]))
//marker 的標題
.title(target_title[i])
//marker 的敘述
.snippet(target_description[i])
// marker 的顯示圖片中心設定在 marker座標點上
.anchor(0.5f, 0.5f));
//新建一個 ArrayList
infos = new ArrayList<MarkerInfo>();
//將 marker 的資訊添加進 ArrayList
infos.add(new MarkerInfo(target_pic[i], target_title[i], target_description[i]));
//最後,將這個 ArrayList 加到 HashMap 內標籤為 mapMarker 的 Id 的欄位。
markerHashMap.put(mapMarker.getId(), infos);
//用以確認資料有正確的加入到 ArrayList
Log.d("infos", ""+infos.size());
//監聽 Marker 的 click 事件。
ggMap.setOnMarkerClickListener(new OnMarkerClickListener(){
@Override
public boolean onMarkerClick(Marker marker) {
// TODO Auto-generated method stub
ArrayList<MarkerInfo> tempList = markerHashMap.get("marker.getId()");
// 以下為有問題的 code
int pic = tempList.get(0).image;
String title
= tempList.
get(0).
title; String description
= tempList.
get(0).
description; // 以上為有問題的 code
//設定 marker 的對話視窗,並且跳出自訂的 InfoWindow
ggMap.setInfoWindowAdapter(new InfoAdapter(marker, pic, title, description));
marker.showInfoWindow();
return true;
}
});
}
Ly/lsIcgbWFya2VyIOeahOizh+ioiuWtmOaIkCBIYXNoTWFw77yM5LmL5b6MIEluZm9XaW5kb3dBZGFwdGVyIOWGjeW+niBNQVAg6KOh6Z2i5Y+W5YC86aGv56S644CCCgkJbWFya2VySGFzaE1hcCA9IG5ldyBIYXNoTWFwPFN0cmluZywgQXJyYXlMaXN0PE1hcmtlckluZm8+PigpOwoJCQoJCS8v5L6d54Wn5bqn5qiZ55+p6Zmj55qE5a6a5L2N77yM5paw5aKeIG1hcmtlcgoJCWZvciAoaW50IGk9MDsgaTx0YXJnZXQubGVuZ3RoOyBpKyspewoJCQlNYXJrZXIgbWFwTWFya2VyID0gZ2dNYXAuYWRkTWFya2VyKG5ldyBNYXJrZXJPcHRpb25zKCkKCQkJLy/oqK3lrpogbWFya2VyIOWclueJh+S+hua6kAoJCQkuaWNvbihCaXRtYXBEZXNjcmlwdG9yRmFjdG9yeS5mcm9tQml0bWFwKGljb24pKQoJCQkvL+ioreWumiBtYXJrZXIg5bqn5qiZ5L2N572uCgkJCS5wb3NpdGlvbihuZXcgTGF0TG5nICh0YXJnZXRbaV1bMF0sdGFyZ2V0W2ldWzFdKSkKCQkJLy9tYXJrZXIg55qE5qiZ6aGMCgkJCS50aXRsZSh0YXJnZXRfdGl0bGVbaV0pCgkJCS8vbWFya2VyIOeahOaVmOi/sAoJCQkuc25pcHBldCh0YXJnZXRfZGVzY3JpcHRpb25baV0pCgkJCS8vIG1hcmtlciDnmoTpoa/npLrlnJbniYfkuK3lv4PoqK3lrprlnKggbWFya2Vy5bqn5qiZ6bue5LiKCgkJCS5hbmNob3IoMC41ZiwgMC41ZikpOwoJCQkKCQkJLy/mlrDlu7rkuIDlgIsgQXJyYXlMaXN0CgkJCWluZm9zID0gbmV3IEFycmF5TGlzdDxNYXJrZXJJbmZvPigpOwoJCQkvL+WwhyBtYXJrZXIg55qE6LOH6KiK5re75Yqg6YCyIEFycmF5TGlzdAoJCQlpbmZvcy5hZGQobmV3IE1hcmtlckluZm8odGFyZ2V0X3BpY1tpXSwgdGFyZ2V0X3RpdGxlW2ldLCB0YXJnZXRfZGVzY3JpcHRpb25baV0pKTsKCQkJLy/mnIDlvozvvIzlsIfpgJnlgIsgIEFycmF5TGlzdCDliqDliLAgSGFzaE1hcCDlhafmqJnnsaTngrogbWFwTWFya2VyIOeahCBJZCDnmoTmrITkvY3jgIIgCgkJCW1hcmtlckhhc2hNYXAucHV0KG1hcE1hcmtlci5nZXRJZCgpLCBpbmZvcyk7CgkJCQoJCQkvL+eUqOS7peeiuuiqjeizh+aWmeacieato+eiuueahOWKoOWFpeWIsCBBcnJheUxpc3QKCQkJTG9nLmQoImluZm9zIiwgIiIraW5mb3Muc2l6ZSgpKTsKCQkJCgkJCS8v55uj6IG9IE1hcmtlciDnmoQgY2xpY2sg5LqL5Lu244CCCgkJCWdnTWFwLnNldE9uTWFya2VyQ2xpY2tMaXN0ZW5lcihuZXcgT25NYXJrZXJDbGlja0xpc3RlbmVyKCl7CgkJCQkKCQkJCUBPdmVycmlkZQoJCQkJcHVibGljIGJvb2xlYW4gb25NYXJrZXJDbGljayhNYXJrZXIgbWFya2VyKSB7CgkJCQkJLy8gVE9ETyBBdXRvLWdlbmVyYXRlZCBtZXRob2Qgc3R1YgoJCQkJCUFycmF5TGlzdDxNYXJrZXJJbmZvPiB0ZW1wTGlzdCA9IG1hcmtlckhhc2hNYXAuZ2V0KCJtYXJrZXIuZ2V0SWQoKSIpOwoJCQkJCQoJCQkJCS8vIOS7peS4i+eCuuacieWVj+mhjOeahCBjb2RlCgkJCQkJaW50IHBpYyA9IHRlbXBMaXN0LmdldCgwKS5pbWFnZTsKCQkJCQlTdHJpbmcgdGl0bGUgPSB0ZW1wTGlzdC5nZXQoMCkudGl0bGU7CgkJCQkJU3RyaW5nIGRlc2NyaXB0aW9uID0gdGVtcExpc3QuZ2V0KDApLmRlc2NyaXB0aW9uOwoJCQkJCS8vIOS7peS4iueCuuacieWVj+mhjOeahCBjb2RlCgkJCQkJCgkJCQkJLy/oqK3lrpogbWFya2VyIOeahOWwjeipseimlueql++8jOS4puS4lOi3s+WHuuiHquiogueahCBJbmZvV2luZG93CgkJCQkJZ2dNYXAuc2V0SW5mb1dpbmRvd0FkYXB0ZXIobmV3IEluZm9BZGFwdGVyKG1hcmtlciwgcGljLCB0aXRsZSwgZGVzY3JpcHRpb24pKTsKCQkJCQltYXJrZXIuc2hvd0luZm9XaW5kb3coKTsKCQkJCQlyZXR1cm4gdHJ1ZTsKCQkJCX0KCQkJCQoJCQl9KTsKCQkJCgkJfQ==
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