Я работаю над учебником, и мое приложение в основном работает, за исключением одной маленькой детали. У меня есть меню «Опции», чтобы продемонстрировать такие вещи, как отображение карты в виде спутникового снимка, масштабирование в определенных местах и т. Д.Android Google Maps setMyLocationEnabled (true)
Учебное пособие имеет два варианта меню, как показано ниже, которые эффективно должны использоваться в порядке, показанном для увеличения карту, на которой я сейчас нахожусь. Я хотел сделать первый элемент избыточным (getcurrentlocation), добавив в эту же функциональность второй элемент меню (show current loaction), но это приведет к сбою приложения.
Есть ли у кого-нибудь идеи, почему и как их преодолеть. Спасибо.
Фрагмент кода следует
case R.id.menu_getcurrentlocation:
// ---get your current location and display a blue dot---
map.setMyLocationEnabled(true);
break;
case R.id.menu_showcurrentlocation:
// Adding the next line breaks the app.
// map.setMyLocationEnabled(true);
Location myLocation = map.getMyLocation();
LatLng myLatLng = new LatLng(myLocation.getLatitude(),myLocation.getLongitude());
CameraPosition myPosition = new CameraPosition.Builder().target(myLatLng).zoom(17).bearing(90).tilt(30).build();
map.animateCamera(CameraUpdateFactory.newCameraPosition(myPosition));
break;
Показать лог-код. – Piyush
ОК, так что я изо всех сил пытался получить мой LogCat, добавленный к моему сообщению, но у меня есть обходное решение, которое работает, но не совсем разрешает мой вопрос о том, почему вызывать map.setMyLocationEnabled (true); в параметрах меню не работает. Моим обходным путем является изменение map.setMyLocationEnabled (true); сразу после того, как я позвонил getSupportFragmentManager. –
Значит, ваше событие click menu не работает? вы получаете исключение нулевого указателя? – Piyush