嗨,我不知道 Java,但我有作业,我正在尝试使用 android studio 制作一个应用程序,它是一个地图应用程序,我可以将标记侦听器添加到标记中,但同样发生在每个标记上,我想为所有标记提供唯一的标记侦听器我的标记。如果你能帮忙(我的代码),我会很高兴
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
// Add a marker in Sydney and move the camera
LatLng Bodrum = new LatLng(37.034407, 27.430540);
LatLng UgurMosque = new LatLng(37.033124, 27.434417);
LatLng ABC = new LatLng(36.033124, 28.434417);
Marker ugur=mMap.addMarker(new MarkerOptions().position(UgurMosque)
.title("1")
);
Marker abc=mMap.addMarker(new MarkerOptions().position(ABC)
.title("2")
);
mMap.moveCamera(CameraUpdateFactory.newLatLng(Bodrum));
mMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
String markertitle=marker.getTitle();
Intent i=new Intent(MapsActivity.this, DetailsActivity.class);
i.putExtra("title",markertitle);
startActivity(i);
return false;
}
});
答案 0 :(得分:0)
使用 Marker 标签代替标题,标签由您设置并且是预定义的标识符
mMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
String markertag =marker.getTag().toString();
if(markertag.equals("tag1")){
}
return false;
}
});
您可以改用 switch-case 语句
要添加标记使用
mMap.addMarker("tag1", lattitude, longitude);