Арг .. Это расстраивает:
Внезапно (март 2012 г.) MyLocationOverlay.enableCompass не работает. Он нормально работает с Google API 14, но оставляет весь экран черным в Google API 7 и Google API 8.
Я хотел бы сохранить функциональность компаса, но, поскольку это не обязательно, я просто оставлю его отключенным. Я думаю, это может быть результатом установки Android SDK Tools 16 поверх SDK Tools 15 ... Может быть, это проблема с настройкой моего эмулятора или Eclipse? У меня есть сильное предчувствие, что эта проблема не возникнет на реальном устройстве. Следующим шагом с моей стороны будет попробовать ее на другой установке Eclipse / Android SDK, но это на другой день ...
Спасибо за помощь.
Вот мой пример кода: Сначала onResume, я не включаю компас ... Все работает нормально. Во-вторых, onResume после onPause [нажмите кнопку «Домой», затем снова войдите в приложение], появляется черный экран. В чем дело?
@Override
public void onCreate(Bundle state)
{
super.onCreate(state);
setContentView(MAP_LAYOUT);
MapView mv = (MapView) findViewById(MAP_VIEW);
mv.setBuiltInZoomControls(true);
List<Overlay> mapOverlays = mv.getOverlays();
Context c = getApplicationContext();
mLocation = new MyLocationOverlay(c,mv);
mapOverlays.add(mLocation);
}
@Override
public void onPause() {
super.onPause();
mLocation.disableCompass();
mLocation.disableMyLocation();
mCompassOn = true;
}
boolean mCompassOn = false;
@Override
public void onResume() {
super.onResume();
if( mCompassOn ) mLocation.enableCompass();
mLocation.enableMyLocation();
}
Мой манифест включает:
... ‹использует-разрешение android: name =" android.permission.INTERNET "/>‹ использует-разрешение android: name = "android.permission.ACCESS_COARSE_LOCATION" /> ‹использует-разрешение android: name =" android.permission. ACCESS_FINE_LOCATION "/>‹ application android: icon = "@ drawable / ic_launcher" android: label = "@ string / app_name"> ‹использует-библиотеку android: name =" com.google.android.maps "/> ...‹ / приложение> ...
И мой макет включает в себя, чтобы соответствовать правильному хранилищу ключей отладки:
<com.google.android.maps.MapView
android:id="@+id/superMapView"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="3"
android:clickable="true"
android:apiKey="..." />
Платформа Eclipse
Версия: 3.7.0.v20110530-9gF7UHNFFt4cwE-pkZDJ7oz-mj4OSEIlu9SEv0f
Идентификатор сборки: I20110613-1736
Набор инструментов для разработки под Android
Версия: 16.0.1.v201112150204-238534
Вопрос похож на
http://groups.google.com/group/android-developers/browse_thread/thread/8928ffa71ef35f8a
но я бы хотел и дальше пользоваться компасом ...