google 地图 api 标记缩放仅适用于 1 个听众
google maps api markers zoom works in only 1 listener
我试图缩小我所做的任何标记,为此我做了一个方法,我用自己的 setOnMarkerClickListener
创建所有标记,事情是当我 运行应用程序它只缩放到迈阿密而不是其他人,我不知道我错过了什么
private float zoomLevel = 15;
public void Veterinarias (GoogleMap googleMap){
rMap = googleMap;
final LatLng bvillia = new LatLng(-31.4223465,-64.1829377);
final LatLng shangai = new LatLng(31.2071315,121.2287258);
final LatLng miami = new LatLng(25.7959734,-80.3209081);
rMap.addMarker(new MarkerOptions().position(bvillia).title("Bv arturo illia"));
rMap.addMarker(new MarkerOptions().position(shangai).title("Shangai"));
rMap.addMarker(new MarkerOptions().position(miami).title("Miami"));
rMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
String name= marker.getTitle();
if(name.equalsIgnoreCase("Bv arturo illia")){
rMap.moveCamera(CameraUpdateFactory.newLatLngZoom(bvillia, zoomLevel));
}
return false;
}
});
rMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
String name= marker.getTitle();
if(name.equalsIgnoreCase("Shangai")){
rMap.moveCamera(CameraUpdateFactory.newLatLngZoom(shangai, zoomLevel));
}
return false;
}
});
rMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
String name= marker.getTitle();
if(name.equalsIgnoreCase("Miami")){
rMap.moveCamera(CameraUpdateFactory.newLatLngZoom(miami, zoomLevel));
}
return false;
}
});
}
}
pd:有没有一种方法可以逐行放大而不是一次性放大?
标记侦听器已在地图上设置,因此您只需用您设置的最后一个侦听器覆盖之前的侦听器。如果将条件全部移至一个侦听器,它应该可以正常工作。
rMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
String name= marker.getTitle();
if(name.equalsIgnoreCase("Bv arturo illia")){
rMap.moveCamera(CameraUpdateFactory.newLatLngZoom(bvillia, zoomLevel));
}else if(name.equalsIgnoreCase("Shangai")){
rMap.moveCamera(CameraUpdateFactory.newLatLngZoom(shangai, zoomLevel));
}else if(name.equalsIgnoreCase("Miami")){
rMap.moveCamera(CameraUpdateFactory.newLatLngZoom(miami, zoomLevel));
}
return false;
}
});
我试图缩小我所做的任何标记,为此我做了一个方法,我用自己的 setOnMarkerClickListener
创建所有标记,事情是当我 运行应用程序它只缩放到迈阿密而不是其他人,我不知道我错过了什么
private float zoomLevel = 15;
public void Veterinarias (GoogleMap googleMap){
rMap = googleMap;
final LatLng bvillia = new LatLng(-31.4223465,-64.1829377);
final LatLng shangai = new LatLng(31.2071315,121.2287258);
final LatLng miami = new LatLng(25.7959734,-80.3209081);
rMap.addMarker(new MarkerOptions().position(bvillia).title("Bv arturo illia"));
rMap.addMarker(new MarkerOptions().position(shangai).title("Shangai"));
rMap.addMarker(new MarkerOptions().position(miami).title("Miami"));
rMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
String name= marker.getTitle();
if(name.equalsIgnoreCase("Bv arturo illia")){
rMap.moveCamera(CameraUpdateFactory.newLatLngZoom(bvillia, zoomLevel));
}
return false;
}
});
rMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
String name= marker.getTitle();
if(name.equalsIgnoreCase("Shangai")){
rMap.moveCamera(CameraUpdateFactory.newLatLngZoom(shangai, zoomLevel));
}
return false;
}
});
rMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
String name= marker.getTitle();
if(name.equalsIgnoreCase("Miami")){
rMap.moveCamera(CameraUpdateFactory.newLatLngZoom(miami, zoomLevel));
}
return false;
}
});
}
}
pd:有没有一种方法可以逐行放大而不是一次性放大?
标记侦听器已在地图上设置,因此您只需用您设置的最后一个侦听器覆盖之前的侦听器。如果将条件全部移至一个侦听器,它应该可以正常工作。
rMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
String name= marker.getTitle();
if(name.equalsIgnoreCase("Bv arturo illia")){
rMap.moveCamera(CameraUpdateFactory.newLatLngZoom(bvillia, zoomLevel));
}else if(name.equalsIgnoreCase("Shangai")){
rMap.moveCamera(CameraUpdateFactory.newLatLngZoom(shangai, zoomLevel));
}else if(name.equalsIgnoreCase("Miami")){
rMap.moveCamera(CameraUpdateFactory.newLatLngZoom(miami, zoomLevel));
}
return false;
}
});