Android 安卓工作室;将.title和.snippet信息添加到ArrayList<;LatLng>;
因此,我想通过Arraylist在地图上显示各种横向位置作为标记,并显示它们的名称+自定义信息(在本例中,我只显示两个位置): 并将其显示为标记:Android 安卓工作室;将.title和.snippet信息添加到ArrayList<;LatLng>;,android,android-activity,maps,Android,Android Activity,Maps,因此,我想通过Arraylist在地图上显示各种横向位置作为标记,并显示它们的名称+自定义信息(在本例中,我只显示两个位置): 并将其显示为标记: public void onMapReady(GoogleMap googleMap) { mMap = googleMap; for (int i=0;i<arrayList.size();i++) { mMap.addMarker(new MarkerOptions().position(arrayList.
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
for (int i=0;i<arrayList.size();i++) {
mMap.addMarker(new MarkerOptions().position(arrayList.get(i)).title("Basketball Court").snippet("It's a sunny square"));
mMap.animateCamera(CameraUpdateFactory.zoomTo(15.0f));
mMap.moveCamera(CameraUpdateFactory.newLatLng(arrayList.get(i))); }
public void onMapReady(谷歌地图谷歌地图){
mMap=谷歌地图;
对于(inti=0;i我想您需要创建自定义包装器类
class MyModel{
LatLng latLng;
String title;
String snippet;
}
然后使用ArrayList list
并根据列表中的位置填充标题和代码段。因此我找到了一种方法:
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
mMap.setOnInfoWindowClickListener(new GoogleMap.OnInfoWindowClickListener()
{
@Override
public void onInfoWindowClick(Marker arg0) {
}
});
LatLng basketb = new LatLng(52.275000, 4.28000);
LatLng footb = new LatLng(52.575441, 4.514373);
// etc. etc. etc.
mMap.addMarker(new MarkerOptions()
.position(basketb)
.title("Basketball Court")
.snippet("Its a sunny place."));
mMap.addMarker(new MarkerOptions()
.position(footb)
.title("Football Court")
.snippet("It's a crowdy place."));
// etc. etc. etc.
mMap.moveCamera(CameraUpdateFactory.newLatLng(basketb));
mMap.moveCamera(CameraUpdateFactory.newLatLng(footb));
首先谢谢你的回答,你能用一些更广泛的例子来编辑吗(关于ArrayList列表并调用我的for循环来添加标记。我已经将MyModel类设置为java文件,但是在我的Mapsactivity中,我非常迷茫,因为我正在努力在列表中给出LatLng的字符串值并执行for循环。非常感谢。而不是LatLng basketball=new LatLng(50.375199,5.883950);LatLng football=new LatLng(50.370330,5.901570);你应该像MyModel basketball=new MyModel(50.375199,5.883950,“标题篮”,“片段篮”);MyModel football=new MyModel(50.370330,5.901570,“标题足球”,“片段足球”)当我像这样尝试时,我得到了一个错误:MyModel类中的构造函数MyModel不能应用于给定的类型;MyModel basketball=new MyModel(50.375199,5.883950,“篮球场”,“阳光广场”);必需:未找到参数:double、double、String、String原因:实际参数列表和形式参数列表的长度不同,因此我排除了错误。但现在我在运行for循环时出错:for(int i=0;我猜MyModel类的构造函数不正确。它应该接受LatLng,然后是snippet,然后是title。因此构造函数应该是:MyModel(LatLng LatLng,String snippet,String title)
class MyModel{
LatLng latLng;
String title;
String snippet;
}
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
mMap.setOnInfoWindowClickListener(new GoogleMap.OnInfoWindowClickListener()
{
@Override
public void onInfoWindowClick(Marker arg0) {
}
});
LatLng basketb = new LatLng(52.275000, 4.28000);
LatLng footb = new LatLng(52.575441, 4.514373);
// etc. etc. etc.
mMap.addMarker(new MarkerOptions()
.position(basketb)
.title("Basketball Court")
.snippet("Its a sunny place."));
mMap.addMarker(new MarkerOptions()
.position(footb)
.title("Football Court")
.snippet("It's a crowdy place."));
// etc. etc. etc.
mMap.moveCamera(CameraUpdateFactory.newLatLng(basketb));
mMap.moveCamera(CameraUpdateFactory.newLatLng(footb));