Загрузка текущего местоположения в Google Maps не быстрая в Android

Я пытаюсь загрузить свое текущее местоположение в Google Maps V2. Проблема в том, что когда я загружаю приложение, я сначала вижу карты по умолчанию, которые загружаются где-то рядом с Африкой, а затем через 1 или 2 секунды они анимируются в текущее местоположение. Вместо этого я хотел бы показать свою карту непосредственно в текущем местоположении, что-то вроде карт Google или Uber.

Я не уверен, где я ошибаюсь. Вот что я сделал:

initMap() вызывается в onCreateView во фрагменте.

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);
}

Может ли кто-нибудь помочь мне решить эту проблему?

Спасибо!


person TheDevMan    schedule 28.10.2014    source источник
comment
Просто проверьте, включен ли ваш GPS ?? И если ваше местоположение равно 0.0, то по умолчанию он покажет вам Африку, а когда вы включите GPS, для навигации по вашему текущему местоположению потребуется 2-3 минуты. Так что также вызывайте свою функцию в методе onResume().   -  person Piyush    schedule 28.10.2014
comment
Я вручную установил координаты для отображения Индии при запуске....   -  person Toppers    schedule 28.10.2014
comment
Как это делают Google Maps или Uber map? когда я загружаю Google Maps, я сразу получаю свое местоположение? Это мгновенно?   -  person TheDevMan    schedule 28.10.2014
comment
@Toppers: Это не сработает для моего приложения, потому что я хотел бы автоматически получать текущее местоположение и перемещать камеру туда, где это необходимо.   -  person TheDevMan    schedule 28.10.2014
comment
да, это будет инициировать с Индией. Извините, я не уверен, как Uber справляется с этим...   -  person Toppers    schedule 28.10.2014
comment
@Toppers - Не беспокойтесь .. Проверьте карты Google. Загрузите приложение, и оно сразу же приведет вас к вашему текущему местоположению.   -  person TheDevMan    schedule 28.10.2014
comment
попробуйте использовать moveCamera вместо animateCamera   -  person Marcel Krivek    schedule 28.10.2014
comment
@МарселКривек. Это та же проблема.   -  person TheDevMan    schedule 28.10.2014


Ответы (1)


Instead of using:-


animateCamera()

использовать:- moveCamera() например:-

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