假設您有ArrayList
和LatLng
座標爲您的標記。所以,你可以用它這樣的,例如:
ArrayList<LatLng> coordinates; // your ArrayList with marker's coordinates
BitmapDescriptor icon = BitmapDescriptorFactory.fromResource(R.drawable.icon2));
...
int size = coordinates.size();
for (int i = 0; i < size; ++i) {
LatLng coordinate = coordinates.get(i);
googleMap.addMarker(new MarkerOptions()
.position(coordinate)
.icon(icon)
.title("Title" + (i + 1))
.snippet("Snippet" + (i + 1))
.anchor(0.5f, 0.5f));
}
希望它能幫助。
UPD 2015年12月15日
我更新了我的代碼,代碼使用的所有屬性,根據你的代碼。
另一個UPD 2015年12月15日
好吧,如果我們需要不同的標題,摘要,圖標和位置爲每個標記,我們需要存儲這些特性專班,對不對?它會看起來像:
public class MyMarker {
private LatLng position;
private BitmapDescriptor icon;
private String title;
private String snippet;
public MyMarker(LatLng position, BitmapDescriptor icon, String title, String snippet) {
this.position = position;
this.icon = icon;
this.title = title;
this.snippet = snippet;
}
public LatLng getPosition() {
return position;
}
public BitmapDescriptor getIcon() {
return icon;
}
public String getTitle() {
return title;
}
public String getSnippet() {
return snippet;
}
public MarkerOptions buildGoogleMarker() {
return new MarkerOptions()
.position(this.position)
.icon(this.icon)
.title(this.title)
.snippet(this.snippet)
.anchor(0.5f, 0.5f);
}
}
然後,我想,我們以某種方式得到這樣的對象的集合。並且可以使用它像這樣:
ArrayList<MyMarker> markers; // your ArrayList with markers
for (MyMarker myMarker: markers) {
googleMap.addMarker(myMarker.buildGoogleMarker());
}
UPD 3
要添加新項目到ArrayList
使用.add
方法ArrayList
,e.g:
List<MyMarker> markers = new ArrayList<>();
MyMarker myMarker = new MyMarker(
new LatLng(1.123456, -2.123456),
BitmapDescriptorFactory.fromResource(R.drawable.icon2)),
"title1",
"snippet1");
markers.add(myMarker);
希望它能幫助。
可能的重複[幫助理解java'的'循環](http://stackoverflow.com/questions/5162845/help-with-understanding-java-for-loops) – muddyfish