在Google地图中加载当前位置并不快

时间:2014-10-28 07:54:58

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

我正在尝试在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);
}

有人可以帮我解决这个问题吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

Instead of using:-


animateCamera()

使用: -     moveCamera()     e.g: -

 googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(arg0.getLatitude(), arg0.getLongitude()), 14.0f));