2017-02-10 3 views
2

Извините, если у вас возникли какие-либо грамматические ошибки. Я следил за учебником, чтобы просмотреть карту google в фрагменте, но что-то пошло не так.Не удается решить метод «getMapAsync»

это мой файл .java, который зацепляется с фрагментом:

public class MapFragment extends Fragment implements OnMapReadyCallback{ 
@Nullable 
@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 
    // Inflate the layout for this fragment 
    return inflater.inflate(R.layout.fragment_map, container, false); 

} 

@Override 
public void onViewCreated(View view, Bundle savedInstanceState) { 
    super.onViewCreated(view, savedInstanceState); 

    MapFragment fragment = (MapFragment)getChildFragmentManager().findFragmentById(R.id.map); 
    fragment.getMapAsync(this); //Here i get the error 
} 

@Override 
public void onMapReady(GoogleMap googleMap) { 

} 

}

Это фрагмент макета:

<fragment 
    android:id="@+id/map" 
    android:layout_width="wrap_content" 
    android:layout_height="match_parent" 
    class="com.google.android.gms.maps.MapFragment"></fragment> 

Что я сделал не так?

Спасибо!

+0

Что именно пошло не так? –

+0

Теперь, когда я открываю карту, на консоли я вижу эту ошибку: http://pastebin.com/RZehk7XC – RvGPredator

ответ

3

Вы должны использовать SupportMapFragment вместо MapFragment
в XML

<fragment 
    android:id="@+id/map" 
    android:layout_width="wrap_content" 
    android:layout_height="match_parent" 
    class="com.google.android.gms.maps.SupportMapFragment"></fragment> 

в Фрагмент

SupportMapFragment fragment = (SupportMapFragment)getChildFragmentManager().findFragmentById(R.id.map); 
fragment.getMapAsync(this); 
0

Дипак Goyal, спасибо, но теперь у меня есть еще одна проблема:

E/b: Authentication failed on the server. E/Google Maps Android API: Authorization failure. Please see https://developers.google.com/maps/documentation/android-api/start for how to correctly set up the map. E/Google Maps Android API: In the Google Developer Console (https://console.developers.google.com) Ensure that the "Google Maps Android API v2" is enabled. Ensure that the following Android Key exists: API Key: (My key, yes it exist) Android Application (;): 6E:F7:62:8E:54:D0:69:E9:6B:CF:0C:F1:1B:29:7F:F6:F0:13:02:AB;

+0

вы должны добавить этот SHA1 '6E: F7: 62: 8E: 54: D0: 69: E9: 6B: CF: 0C: F1: 1B: 29: 7F: F6: F0: 13: 02: AB; 'на консоль разработчика Google. Прочтите документацию на странице https://developers.google.com/maps/documentation/android-api/start –

+0

https://developers.google.com/maps/documentation/android-api/signup –

+0

Я сделал это, но все изменилось , ScreenShot: http://i.imgur.com/trQ8M8h.png?1 Я итальянец, поэтому на этом скриншоте вы увидите итальянский перевод – RvGPredator