Я пытаюсь изучить использование класса MapView для отображения GoogleMap, но безуспешно, так как в большинстве примеров кода используется MapFragment, который мне не нужен.
Я использую Google Maps Android API v2.
Сначала просто для тестирования с помощью здесь из примера Google мне удалось получить типичная карта нормалей для отображения.
public class POnlineMapView extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.online_map_activity);
}
}
Приведенный выше код работает отлично, что показывает, что все настроено правильно.
Теперь я пытаюсь использовать класс MapView для управления настройками отображения, такими как центральная точка, но кажется, что я получаю нулевой объект каждый раз, когда пытаюсь получить объект GoogleMap. Почему это так?
public class POnlineMapView extends Activity {
private MapView myMapView;
private GoogleMap map;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
myMapView = new MapView(getApplicationContext());
Bundle b = getIntent().getExtras();
double longitude = b.getDouble("longitude");
double latitude = b.getDouble("latitude");
setContentView(R.layout.online_map_activity);
map = myMapView.getMap();
CameraUpdate center= CameraUpdateFactory.newLatLng(new LatLng(latitude,longitude));
CameraUpdate zoom=CameraUpdateFactory.zoomTo(17);
map.moveCamera(center); //this gives a NullPointerException, probably due to the myMapView.getMap() method?
map.animateCamera(zoom);
}
}