0

это мой activityGoogle карта не отображается маркер на нем

public class FindPeopleFragment extends Fragment implements OnMapReadyCallback { 
    private GoogleMap googleMap; 
    MapFragment fragment; 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 

     View rootView = inflater.inflate(R.layout.fragment_find_people, container, false); 
     initilizeMap(); 
     return rootView; 
    } 

    @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1) 
    private void initilizeMap() { 
     MapFragment fragment = (MapFragment) getChildFragmentManager().findFragmentById(R.id.map1); 
     if (fragment != null) { 
      fragment.getMapAsync(this); 

     } 

    } 

    @Override 
    public void onMapReady(GoogleMap googleMap) { 
     LatLng marker = new LatLng(44.797283, 20.460663); 

     googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(
       new LatLng(44.797283, 20.460663), 12)); 

     googleMap.addMarker(new MarkerOptions() 
       .position(new LatLng(44.797283, 20.460663)) 
       .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE))); 
     googleMap.setMyLocationEnabled(true); 

    } 

    @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1) 
    @Override 
    public void onPause() { 

     final FragmentManager fragManager = this.getFragmentManager(); 
     final Fragment fragment = fragManager.findFragmentById(R.id.map1); 
     if (fragment != null) { 
      fragManager.beginTransaction().remove(fragment).commit(); 
      super.onPause(); 

     } 
    } 

    @Override 
    public void onDestroy() { 
     super.onDestroy(); 
     final FragmentManager fragManager = this.getFragmentManager(); 
     final Fragment fragment = fragManager.findFragmentById(R.id.map1); 
     if (fragment != null) { 
      fragManager.beginTransaction().remove(fragment).commit(); 
     } 
    } 
} 

Я использую навигацию ящик, чтобы показать карту. моя карта работает, но маркер на ней не отображается. Я использовал все разрешения и хорошо создал файл xml. Я не знаю, в чем проблема, я не могу найти решение для этого где угодно. Я думаю, что у меня проблема, поскольку я использую фрагмент, но мне это нужно, поскольку я использую навигационный ящик. пожалуйста, кто-нибудь? дайте мне решение, я застрял в этом

+0

Возможно ли отображать карту или что? –

+0

Я реализовал ваш код, его рабочий режим также показал маркер –

ответ

0

Вы должны реализовать onMapReadyCallback, вы должны установить маркер, когда карта будет готова. Когда экземпляр этого интерфейса установлен на объект MapFragment или MapView, метод onMapReady(GoogleMap) запускается, когда карта готова к использованию и предоставляет непустой экземпляр GoogleMap.

onMapReady() и способ не может быть вызван. Попробуйте реализовать объект SupportMapFragment, который вы извлекли из макета XML. Затем позвоните по телефону getMapAsync().

supportMapFragment.getMapAsync(new OnMapReadyCallback() { 
@Override 
public void onMapReady(final GoogleMap googleMap) { 
    // ... 
} 
}); 
Смежные вопросы