android - 在 Google Maps V2 中添加圆圈时来源不明

标签 android google-maps dictionary nullpointerexception

我有一张 map ,我正在其上添加标记并围绕它画圈,但是当我尝试添加圆圈时,它给出了一个 nullpointerEcxeption,我不知道是什么原因造成的。我可以添加标记,并且 map 可以正确显示。

      add.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (name.getText() == null || radius.getText() == null) {
                    Toast.makeText(getContext(), "Name and Radius Please", Toast.LENGTH_SHORT).show();
                } else {       

                    CircleOptions c = new CircleOptions().strokeColor(Color.BLUE).radius(Integer.parseInt(radius.getText().toString()));                                                                               This is the line where it happens
                    **googlemap.addCircle(c);**
                    DataBaseOperations hell = new DataBaseOperations(getContext());
                    SQLiteDatabase db = hell.getWritableDatabase();
                    hell.SaveMarker(name.getText().toString(),c.getRadius(),marker.getId(),latLng,db);
                    item.setVisibility(View.INVISIBLE);
                    hell.close();
                    db.close();

                }
            }
        });

这是我的堆栈

   java.lang.NullPointerException
                                                                              at com.google.a.a.ae.a(Unknown Source)
                                                                              at com.google.maps.api.android.lib6.e.eg.<init>(Unknown Source)
                                                                              at com.google.maps.api.android.lib6.e.ev.a(Unknown Source)
                                                                              at com.google.android.gms.maps.internal.j.onTransact(SourceFile:390)
                                                                              at android.os.Binder.transact(Binder.java:387)
                                                                              at com.google.android.gms.maps.internal.IGoogleMapDelegate$zza$zza.addCircle(Unknown Source)
                                                                              at com.google.android.gms.maps.GoogleMap.addCircle(Unknown Source)
                                                                              at com.example.umerasif.homealarm.Map$3.onClick(Map.java:160)
                                                                              at android.view.View.performClick(View.java:5198)
                                                                              at android.view.View$PerformClick.run(View.java:21147)
                                                                              at android.os.Handler.handleCallback(Handler.java:739)
                                                                              at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                              at android.os.Looper.loop(Looper.java:148)
                                                                              at android.app.ActivityThread.main(ActivityThread.java:5417)
                                                                              at java.lang.reflect.Method.invoke(Native Method)
                                                                              at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                                                                              at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

这是我的 googleMap 设置。

      @Override
public void onMapReady(GoogleMap googleMap) {
    setmap(googleMap);
}

public void setmap(final GoogleMap map) {
    googlemap = map;
    if(googlemap != null){
    if (sharedPreferences.getBoolean(CustomAlarm.satellite, false)) {
        googlemap.setMapType(GoogleMap.MAP_TYPE_SATELLITE);
    } else {
        googlemap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
    }
    googlemap.getUiSettings().setScrollGesturesEnabled(true);

    googlemap.setOnMapLongClickListener(this);
    googlemap.setLocationSource(new com.example.umerasif.homealarm.LocationSource(getContext(), googlemap));
    MapStateListener mapStateListener = new MapStateListener(googlemap, app_touchableMapFragment, getActivity(), pager);
    mapStateListener.setStateListener(this);
}}

最佳答案

map 未加载,您是否添加了这行代码来设置您的 map ? SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager () .findFragmentById (R.id.map); mapFragment.getMapAsync(这个); 同步您的 map 。如果您不同步 map ,您将遇到未知来源问题。从教程点看本教程,了解如何使用谷歌地图 http://www.tutorialspoint.com/android/android_google_maps.htm 希望这有帮助

关于android - 在 Google Maps V2 中添加圆圈时来源不明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35246678/

相关文章:

java - 对话框仅第一个选项有效

java - appView.addJavascriptInterface() 不适用于 API 17

android- Canvas 上的动画文本

google-maps - ionic 电容器谷歌地图 setMapType 不起作用

python - 如何在Python中并排打印两个计数器?

java - 从 Map<Integer, String> 中检索键在特定范围内的所有条目

.net - 通知字典中的某些值已更改

android - 获取一个 Cluster 下的所有项目

android - 在 Android 的 fragment 中使用谷歌地图

javascript - 谷歌用多个独特的信息框映射多个标记