我正在尝试在Google Maps V2中加载我当前的位置。问题是,当我加载应用程序时,我首先看到加载到非洲附近的默认地图,然后在1或2秒后,它会动画到当前位置。相反,我想将我的地图直接显示到当前位置,例如Google地图或Uber。
我不确定我哪里出错了。这就是我所做的:
在Fragment中的onCreateView中调用initMap()。
private boolean initMap()
{
if (googleMap == null)
{
SupportMapFragment mapFrag = ((SupportMapFragment) getFragmentManager().findFragmentById(R.id.map));
googleMap = mapFrag.getMap();
googleMap.setTrafficEnabled(true);
if (friendslocationclicked == false)
{
googleMap.setMyLocationEnabled(true);
}
googleMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
googleMap.setOnMyLocationChangeListener(new GoogleMap.OnMyLocationChangeListener() {
@Override
public void onMyLocationChange(Location arg0) {
googleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(arg0.getLatitude(), arg0.getLongitude()), ZOOMVALUE));
googleMap.addMarker(new MarkerOptions().position(new LatLng(arg0.getLatitude(), arg0.getLongitude())).title("It's Me!"));
}
});
}
return (googleMap != null);
}
有人可以帮我解决这个问题吗?
谢谢!
答案 0 :(得分:1)
Instead of using:-
animateCamera()
使用: - moveCamera() e.g: -
googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(arg0.getLatitude(), arg0.getLongitude()), 14.0f));