私はそのメニューの中にいくつかのボタンがある上にメニューを持つアプリケーションを開発しています。ボタンの1つにGoogleマップを追加しようとしていますが、それほど成功していません。私はthis tutorialに従っていましたが、implementig googleの代わりにMainActivity
に直接マップしました。私はボタンを押すと起動されるフラグメントにそれらを追加しました。すべて正常に働いた。ボタンを押すと地図が読み込まれ、必要なときに機能します。私は戻ってMainActivity
に行くためにホームボタンを押すと、それは完璧に動作しますが、私は再びマップをロードするとき、それは私にdebugging error: Class File Editor: Source not found
AndroidのGoogleマップの断片
を与えます。これは、GoogleMaps
フラグメントのコードです:任意の助けが理解されるであろう
public class GoogleMaps extends Fragment{
private GoogleMap googleMap;
double latitude = 46.514249;
double longitude = 15.080183;
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
final View myFragmentView = inflater.inflate(R.layout.maps_layout, container, false);
try {
// Loading map
initilizeMap();
} catch (Exception e) {
Log.e("ERROR", "ERROR IN CODE: " + e.toString());
e.printStackTrace();
}
return myFragmentView;
}
private void initilizeMap() {
if (googleMap == null) {
googleMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
googleMap.addMarker(new MarkerOptions().position(new LatLng(latitude, longitude)));
CameraPosition cameraPosition = new CameraPosition.Builder().target(
new LatLng(latitude, longitude)).zoom(12).build();
googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
// check if map is created successfully or not
if (googleMap == null) {
Toast.makeText(getActivity(),
"Sorry! unable to create maps", Toast.LENGTH_SHORT)
.show();
}
}
}
}
。
編集: 私が十分に具体的でない場合。 fragment
を一度(初めて)読み込むと機能しますが、もう一度読み込むと機能しません(2回目)。
EDIT v2: 実際に自分で解決策を見つけました。
public void onDestroyView()
{
super.onDestroyView();
Fragment fragment = (getFragmentManager().findFragmentById(R.id.map));
FragmentTransaction ft = getActivity().getFragmentManager().beginTransaction();
ft.remove(fragment);
ft.commit();
}
とにかく感謝: 私がしなければならなかったすべてはOnDestroyView
メソッドを追加することでした。
、私は 'onDestroyView()'メソッドを追加しましたが、それは助けていません..あなたが私を助けることができる場合 –
あなたの問題を説明していない場合、私はコードを参照していない場合は、私はあなたを助けることができません... – Izak
感謝イザックしかし、私はそれを解決しました:) –