私はAndroidプログラミングの初心者です。私はすでに同様の質問と回答を見てきましたが、なぜこれがうまくいかないのか分かりません。エミュレータでこれを試して場所をクリックすると、マーカーは表示されません。これは私のコードです:Googleマップアンドロイドにマーカーを追加するにはどうすればいいですか?
編集:今すぐ次のコードをクリックするとマーカーが表示されます。 33::
public class MapViewFragment extends Fragment {
MapView mMapView;
private GoogleMap googleMap;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_map_view, container, false);
mMapView = (MapView) rootView.findViewById(R.id.mapView);
mMapView.onCreate(savedInstanceState);
mMapView.onResume();
Context context = getActivity().getApplicationContext();
final LocationsDB locationsDB = new LocationsDB(context);
try {
MapsInitializer.initialize(getActivity().getApplicationContext());
} catch (Exception e) {
e.printStackTrace();
}
mMapView.getMapAsync(new OnMapReadyCallback() {
@Override
public void onMapReady(GoogleMap mMap) {
googleMap = mMap;
googleMap.setOnMapClickListener(new GoogleMap.OnMapClickListener() {
public void onMapClick(LatLng point) {
// Drawing marker on the map
MarkerOptions markerOptions = new MarkerOptions();
markerOptions.position(point);
markerOptions.title(point.latitude + " : " + point.longitude);
googleMap.clear();
googleMap.animateCamera(CameraUpdateFactory.newLatLng(point));
googleMap.addMarker(markerOptions);
// Create location object
Location location = new Location(point.latitude, point.longitude);
// add location to SQLite database
locationsDB.insert(location);
}
});
}
});
return rootView;
}
}
7-20 07:00.076 5359から5359 /私は2番目の時間をマップクリックすると、それだけで私は実行時例外(にNullPointer例外)を与えますか? W/RcsService:java.lang.NullPointerException:com.google.android.rcs.serviceのnullオブジェクト参照 に仮想メソッド 'void com.google.android.rcs.service.service.aa()'を呼び出そうとしています。 eb(SourceFile:43) com.google.android.rcs.service.service.JibeService.onDestroy(SourceFile:162) android.app.ActivityThread.handleStopService(ActivityThread.java:3569) android.appにあります。 ActivityThread.-wrap26(不明な情報源:0) android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1703) (android.os.Handler.dispatchMessage(Handler.java:105)) はandroid.osです。 Looper.loop(Looper.java:164) android.app.ActivityThread.main(ActivityThread.java:6) 540) at java.lang.reflect.Method.invoke(ネイティブメソッド) com.android.internal.os.Zygote $ MethodAndArgsCaller.run(Zygote.java:240) at com.android.internal.os.ZygoteInit .main(ZygoteInit.java:767)
07-20 07:33:00.079 5359-5359 /? E/ActivityThread:サービスcom.google.android.rcs.service.service.JibeServiceが、ここに最初に登録されたIntentReceiver com.google[email protected]741339をリークしました。 unregisterReceiver()への呼び出しがありませんか? android.app.IntentReceiverLeaked:サービスcom.google.android.rcs.service.service.JibeServiceが、元々ここに登録されているIntentReceiver com.google[email protected]741339をリークしました。 unregisterReceiver()への呼び出しがありませんか? android.app.LoadedApk $ ReceiverDispatcherで 。android.app.ContextImpl.registerReceiverInternal(ContextImpl.java:1397)でandroid.app.LoadedApk.getReceiverDispatcher(LoadedApk.java:1091) で(LoadedApk.java:1310) android.app.ContextImpl.registerReceiver(ContextImpl.java:1370) とandroid.app.ContextImpl.registerReceiver(ContextImpl.java:1358) at android.content.ContextWrapper.registerReceiver(ContextWrapper.java:603) at com com.google.android.rcs.service.hで .google.android.rcs.service.provisioning.RcsSmsReceiver.a(SOURCEFILE:12) com.google.android.rcs.service.hgで(230 SOURCEFILE) 。(ソースファイル:212) com.google.android.rcs.service.service.aで(SOURCEFILE:13) com.google.android.rcs.service.eaで(SOURCEFILE:32) com.google.androidで.rcs.service.service.JibeService.d(SourceFile:145) com.google.android.rcs.service.service.JibeService.onCreate(SourceFile:91) android.app.ActivityThread.handleCreateService(ActivityThread.java :3404) android.app.ActivityThread.-wrap4(不明なソース:0) at android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1683) android.os.Handler.dispatchMessage(Handler.java :105) android.os.Looper.loop(Looper.java:164)アンドロイドでapp.ActivityThread.main(ActivityThread.java:6540) at java.lang.reflect.Method.invoke(ネイティブメソッド) at com.android.internal.os.Zygote $ MethodAndArgsCaller.run(Zygote.java:240) com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)Googleマップの例では、ここで
を取得します値。私が今抱えている唯一の問題は、1つのマーカーが追加されたときに、次回地図をクリックしたときにアプリが停止することです。 –
あなたは受信機のリークを持っているようです。クラッシュログでこの行を見てください:JibeServiceがIntentReceiverを漏らしました。サービスのonDestroyでこのレシーバ(RcsReconfigurationSmsReceiver)の登録を解除してください。 –