Google地图无法移至新的LatLng位置

时间:2014-08-29 05:25:42

标签: android google-maps-markers google-maps-android-api-2

我正在开发一个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();
    });

            }    

2 个答案:

答案 0 :(得分:1)

将标记放在onLocationChanged()中并绘制标记。首先删除标记,然后使用新位置添加新标记。

所有这些代码都必须在onLocationChanged()下 先检查

(if marker == null){
//plot marker
}
else{
//remove first marker..
//add new marker
}

答案 1 :(得分:0)

尝试在你的覆盖功能中调用super.onMarkerClick(m)ònMarkekClick(Marker m)`。