如何将Marker添加到MarkerList中?

时间:2016-02-13 17:00:21

标签: android google-maps

我是编码的新手,感觉很难问这个愚蠢的问题,我训练跑酷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())
        );    

1 个答案:

答案 0 :(得分:2)

错误的数组追加。 使用

markerArray.add(markerOpt1);
markerArray.add(markerOpt2);

add方法有两个重载:

@Override public boolean add(E object) {...}

和第二个:

@Override public void add(int index, E object) {...}

所以JVM和编译器认为你想要使用第二次重载。