我是编码的新手,感觉很难问这个愚蠢的问题,我训练跑酷6年,跑酷需要好点训练,所以我想制作一个APP让人们拍照并上传现货位置和信息,我谷歌6个小时,找出是否想要添加多个标记到地图,使用ArrayList<Marker> markerArray = new ArrayList<>();
并添加标记到地图使用,我的问题是,如何将标记添加到makeryArray?
请帮忙,坚持6个小时:(
我先制作两个标记
MarkerOptions markerOpt1 = new MarkerOptions();
markerOpt1.position(new LatLng(25.033611, 121.565000));
markerOpt1.title("Taipei_101");
markerOpt1.snippet("some information");
markerOpt1.draggable(false);
markerOpt1.visible(true);
markerOpt1.anchor(0.5f, 0.5f);
//Marker2
MarkerOptions markerOpt2 = new MarkerOptions();
markerOpt2.position(new LatLng(25.047924, 121.517081));
markerOpt2.title("TMS");
将这两个标记放在MarkerArrayList
中 ArrayList<Marker> markerArray = new ArrayList<>();
markerArray.add(markerOpt1,markerOpt2); <---ERROR , it said <Int Index,Marker Object> I think markerop1 and markerop2 are Marker object already right?
在地图上打印标记
for (int i =0 ; i<markerArray.size();i++){
map.addMarker(new MarkerOptions().position(markerArray.get(i).getPosition())
.title(markerArray.get(i).getTitle())
.snippet(markerArray.get(i).getSnippet())
);
答案 0 :(得分:2)
错误的数组追加。 使用
markerArray.add(markerOpt1);
markerArray.add(markerOpt2);
add方法有两个重载:
@Override public boolean add(E object) {...}
和第二个:
@Override public void add(int index, E object) {...}
所以JVM和编译器认为你想要使用第二次重载。