2013-04-18 4 views
2

Это код Google Map Android API v1. Я не знаю, конвертировать в API v2. Помоги мне, пожалуйста!Конвертировать код из Google Map API Android v1 в Google Map Android API v2?

FlatBack.java

public class FlatBack extends MapActivity { 
private MapView mapView; 
private MyLocationOverlay myLocationOverlay; 


@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.map); 

    mapView = (MapView) findViewById(R.id.mapView); 
    mapView.setBuiltInZoomControls(true); 

    myLocationOverlay = new FixLocation(this, mapView); 

    mapView.getOverlays().add(myLocationOverlay); 
    mapView.postInvalidate(); 

    zoomToMyLocation(); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.map_toggle, menu); 
    return true; 
} 

public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
    case R.id.map: 
     if (mapView.isSatellite() == true) { 
      mapView.setSatellite(false); 
      mapView.setStreetView(true); 
     } 
     return true; 
    case R.id.sat: 
     if (mapView.isSatellite() == false) { 
      mapView.setSatellite(true); 
      mapView.setStreetView(false); 
     } 
     return true; 
    case R.id.both: 
     mapView.setSatellite(true); 
     mapView.setStreetView(true); 
    default: 
     return super.onOptionsItemSelected(item); 
    } 
} 

@Override 
protected void onResume() { 
    super.onResume(); 
    myLocationOverlay.enableMyLocation(); 
} 

@Override 
protected void onPause() { 
    super.onPause(); 
    myLocationOverlay.disableMyLocation(); 
} 

private void zoomToMyLocation() { 
    GeoPoint myLocationGeoPoint = myLocationOverlay.getMyLocation(); 
    if (myLocationGeoPoint != null) { 
     mapView.getController().animateTo(myLocationGeoPoint); 
     mapView.getController().setZoom(10); 
    } 
} 

protected boolean isRouteDisplayed() { 
    return false; 
} 

ответ

0

Наконец, самое главное, чтобы добавить Google Play Services как проект Android библиотеки следующим образом:

  • Выберите Файл> Импорт> Android> Существующие Android Code Into Workspace и нажмите Next. Выберите Обзор ..., введите */extras/google/google_play_services/libproject/google-play-services_lib * и нажмите Закончить.
  • Проверьте, есть ли в вашем проекте папка libs/, содержащая android-support-v4.jar.
  • android-support-v4.jar находится в /extras/android/compatibility/v4/android-support-v4.jar под вашим указателем «android-sdk».

Перед запуском проекта вы должны установить свой проект. Настроить цель на «Google API», а не на Android x.x. version: Выберите свой проект и нажмите Проект> Свойства> Объект сборки проекта в Eclipse и выберите «Google API», а затем запустите проект на своем телефоне. Если вы используете эмулятор, также должен установить AVD эмулятора на любые «API Google».

+0

Спасибо вам большое. Но все, что вы делаете выше, я сделал. Однако MapView показывает пустой. :-( –

+0

Я тестирую приложение по реальному устройству. Я думаю, что он из-за кода –

+0

, вероятно, пуст из-за неправильного ключа API. Mapview использует отпечаток пальца MD5, Maps v2 нуждается в отпечатке пальца SHA, используйте команду keytool для ее получения или используйте код (он находится в ответе здесь: http://stackoverflow.com/questions/13966906/app-is-misconfigured-for-facebook-login-not-returning-the-logcat-after-setti) – Analizer