如何创建一个包含纬度和经度的数组,并使用循环标记android中谷歌地图上的位置

And*_*id 3 arrays android google-maps fragment google-maps-api-3

我刚刚开始在Android编码,经过很长一段时间我的谷歌地图工作,并能够在其上放置标记.

我接下来要做的是创建一个latlng数组并使用for循环在谷歌地图上放置一个标记.我无法弄清楚该怎么做.有人可以帮帮我吗 到目前为止我已经完成了以下工作.

ArrayList<Markers> mMap = new ArrayList<Markers>();

public ArrayList arraylist[] = {new ArrayList(
                            new LatLng(30.243442, -1.432320)),
Run Code Online (Sandbox Code Playgroud)

我想稍后扩展它,因此我想使用数组列表.

我理解for循环是如何工作的,但我无法弄清楚如何使用它来实现它,因为我无法在地图上从数组到标记获取这些位置.

      for (i = 0; i < cars.length; i++) {
mMap.addMarker(new MarkerOptions()
        .position(new LatLng(10, 10))
        .title("Hello world"));
        }
Run Code Online (Sandbox Code Playgroud)

我完全迷失在这个阶段.有人可以指导并帮助我.

谢谢.

Tim*_*eed 5

首先,您需要一个存储LatLng对象的数组.所以,声明一个如此:

ArrayList<LatLng> locations;
Run Code Online (Sandbox Code Playgroud)

您还需要初始化ArrayList:

locations = new ArrayList();
Run Code Online (Sandbox Code Playgroud)

现在,您可以使用ArrayList.add方法向数组添加位置:

locations.add(new LatLng(latitude, longitude));
Run Code Online (Sandbox Code Playgroud)

既然你有一个填充了一些LatLng的ArrayList,你可以使用foreach循环迭代它们,如下所示:

for(LatLng location : locations){ 
    mMap.addMarker(new MarkerOptions() 
        .position(location)
        .title(...)
}
Run Code Online (Sandbox Code Playgroud)

以上基本上如下:

对于位置ArrayList中的每个位置,添加一个新标记,其中标记的位置是我们从数组中检索的位置

把它们捆绑在一起:

ArrayList<LatLng> locations = new ArrayList();
locations.add(new LatLng(30.243442, -1.432320));
locations.add(new LatLng(... , ...));
.
.
.

for(LatLng location : locations){
    mMap.addMarker(new MarkerOptions()
        .position(location)
        .title(...)
}
Run Code Online (Sandbox Code Playgroud)