我正在开发一个Android应用程序,它跟踪从当前位置到特定目的地的路径。它运作良好。但是有一个例外情况。
当用户点击目标标记时,需要使用缩放将地图移动到其他位置。但只能在不移动到第二个位置的情况下进行缩放。
这是我的相关代码段。如果你能帮我解决这个问题。提前致谢。
double Kumana1_Latitude = 6.573022;
double Kumana1_Longitude = 81.666875;
double Kumana2_Latitude = 6.649353;
double Kumana2_Longitude = 81.770114;
final LatLng Kumana = new LatLng(Kumana1_Latitude, Kumana1_Longitude);
final LatLng Kumana2 = new LatLng(Kumana2_Latitude,Kumana2_Longitude);
Marker Kumana_marker = mGoogleMap.addMarker(new MarkerOptions()
.title("Kumana National Park")
.icon(BitmapDescriptorFactory
.defaultMarker(BitmapDescriptorFactory.HUE_GREEN))
.position(Kumana));
Kumana_marker.showInfoWindow();
mGoogleMap.setOnMarkerClickListener(new OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker m) {
//here it get Zoomed, but does not move to the new location
mGoogleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(Kumana2, 13));
m.remove();
Toast.makeText(getApplicationContext(),
"Tap on the Kumana National Park entreance", Toast.LENGTH_LONG)
.show();
});
}
答案 0 :(得分:1)
将标记放在onLocationChanged()
中并绘制标记。首先删除标记,然后使用新位置添加新标记。
所有这些代码都必须在onLocationChanged()
下
先检查
(if marker == null){
//plot marker
}
else{
//remove first marker..
//add new marker
}
答案 1 :(得分:0)
尝试在你的覆盖功能中调用super.onMarkerClick(m)
ònMarkekClick(Marker m)`。