Я потратил некоторое время, пытаясь заставить это работать, и я все время застрял в каждом учебнике. Короче, я пытаюсь создать приложение с вкладками, в котором одна из вкладок, которую он отображает Google.получение google-карт в приложении для Android с вкладками
Я установил все обычные ошибки:
Я скачал все соответствующие через SDK. У меня есть ключ API на месте. Я добавил компилировать com.google.android.gms:play-services:7.5.0 to my dependencies.
Я пытаюсь следовать this code, но он не был полностью работает для меня, поэтому я изменил его немного, но я до сих пор работает в стену.
Моя текущая ошибка: java.lang.NullPointerException: IBitmapDescriptorFactory is not initialized
. Я решил, что это было бы инициализировано в getMapAsync
.
Вот мой Java-код:
public class MapFragment extends Fragment{
MapView mMapView;
private GoogleMap googleMap;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// inflat and return the layout
View v = inflater.inflate(R.layout.fragment_location_info, container,
false);
mMapView = (MapView) v.findViewById(R.id.mapView);
mMapView.onCreate(savedInstanceState);
mMapView.onResume();// needed to get the map to display immediately
mMapView.getMapAsync(new OnMapReadyCallback() {
@Override
public void onMapReady(GoogleMap googleMap) {
MapsInitializer.initialize(getApplicationContext());
// latitude and longitude
double latitude = 17.385044;
double longitude = 78.486671;
// create marker
MarkerOptions marker = new MarkerOptions().position(new LatLng(latitude, longitude)).title("Hello Maps");
// Changing marker icon
marker.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_ROSE));
}
});
//MapsInitializer.initialize(getApplicationContext());
googleMap = mMapView.getMap();
// latitude and longitude
double latitude = 17.385044;
double longitude = 78.486671;
// create marker
MarkerOptions marker = new MarkerOptions().position(new LatLng(latitude, longitude)).title("Hello Maps");
// Changing marker icon
marker.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_ROSE));
// adding marker
googleMap.addMarker(marker);
CameraPosition cameraPosition = new CameraPosition.Builder().target(new LatLng(17.385044, 78.486671)).zoom(12).build();
googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
// Perform any camera updates here
return v;
}
@Override
public void onResume() {
super.onResume();
mMapView.onResume();
}
@Override
public void onPause() {
super.onPause();
mMapView.onPause();
}
@Override
public void onDestroy() {
super.onDestroy();
mMapView.onDestroy();
}
@Override
public void onLowMemory() {
super.onLowMemory();
mMapView.onLowMemory();
}
}
FWIW, [здесь является примером приложения] (https://github.com/commonsguy/cw-omnibus/tree/master/MapsV2/Pager), который имеет карту на каждой из десяти страниц «ViewPager» с индикатором с вкладками. – CommonsWare
@JohnF Помог ли вам ответ на этот вопрос? Дай мне знать! –
выглядит хорошо, и у меня нет сообщений об ошибках, но у меня проблемы с запуском на эмуляторе. – JohnF