将标记添加到动态Google Map

奥菲尔·奥海恩(Ofir Ohayon)

我正在开发一个显示具有指定LatLng值的地图的应用程序。地图片段是动态的(不是R.id.map)

当我尝试将标记添加到指定位置时(我是从Google Places API JSON请求中获取的),我得到了空指针异常。

这是代码:

        @Override
public void initMap(int position, long id, ListView listView) {
    Cursor cursor = (Cursor) listView.getItemAtPosition(position);
    String lat = cursor.getString(cursor.getColumnIndexOrThrow(PlacesContract.Places.LAT));
    String lng = cursor.getString(cursor.getColumnIndexOrThrow(PlacesContract.Places.LNG));
    String name = cursor.getString(cursor.getColumnIndexOrThrow(PlacesContract.Places.NAME));
    LatLng latLng = new LatLng(Double.parseDouble(lat), Double.parseDouble(lng));
    GoogleMapOptions options = new GoogleMapOptions();

    options.mapType(GoogleMap.MAP_TYPE_HYBRID);

    options.camera(CameraPosition.fromLatLngZoom(latLng, 15));

    mapFragment = GoogleMapFragment.newInstance(options);
    mUIGoogleMap.addMarker(new MarkerOptions().position(latLng).title(name));
    if (findViewById(R.id.map_container) != null) {
        getSupportFragmentManager().beginTransaction().replace(R.id.map_container, mapFragment).addToBackStack(null).commit();
    } else {
        getSupportFragmentManager().beginTransaction().replace(R.id.listview_container, mapFragment).addToBackStack(null).commit();

}
}

GoogleMapFragment类=

public class GoogleMapFragment extends SupportMapFragment {

private static final String SUPPORT_MAP_BUNDLE_KEY = "MapOptions";

public static interface OnGoogleMapFragmentListener {
    void onMapReady(GoogleMap map);
}

public static GoogleMapFragment newInstance() {
    GoogleMapFragment fragment = new GoogleMapFragment();
    return fragment;
}

public static GoogleMapFragment newInstance(GoogleMapOptions options) {
    Bundle arguments = new Bundle();
    arguments.putParcelable(SUPPORT_MAP_BUNDLE_KEY, options);

    GoogleMapFragment fragment = new GoogleMapFragment();
    fragment.setArguments(arguments);
    return fragment;
}

@Override
public void onAttach(Activity activity) {
    super.onAttach(activity);
    try {
        mCallback = (OnGoogleMapFragmentListener) getActivity();
    } catch (ClassCastException e) {
        throw new ClassCastException(getActivity().getClass().getName() + " must implement OnGoogleMapFragmentListener");
    }
}

@Override
public View onCreateView(LayoutInflater arg0, ViewGroup arg1, Bundle arg2) {
    View v = super.onCreateView(arg0, arg1, arg2);
    Fragment fragment = getParentFragment();
    return v;
}

private OnGoogleMapFragmentListener mCallback;

}

错误日志:

03-01 13:40:36.069  17720-17720/com.fragments.ofir.nearby E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.fragments.ofir.nearby, PID: 17720
java.lang.NullPointerException: Attempt to invoke virtual method 'com.google.android.gms.maps.model.Marker com.google.android.gms.maps.GoogleMap.addMarker(com.google.android.gms.maps.model.MarkerOptions)' on a null object reference
        at com.fragments.ofir.nearby.MainActivity.initMap(MainActivity.java:184)
        at com.fragments.ofir.nearby.fragments.ResultsFragment.onItemClick(ResultsFragment.java:113)
        at android.widget.AdapterView.performItemClick(AdapterView.java:300)
        at android.widget.AbsListView.performItemClick(AbsListView.java:1186)
        at android.widget.AbsListView$PerformClick.run(AbsListView.java:3095)
        at android.widget.AbsListView$3.run(AbsListView.java:4038)
        at android.os.Handler.handleCallback(Handler.java:739)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:135)
        at android.app.ActivityThread.main(ActivityThread.java:5274)
        at java.lang.reflect.Method.invoke(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:372)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
Arshdeep_somal

您应该尝试扩展SupportMapFragment类,而不是制作SupportMapFragment的新实例。检查一下

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

导航地图时将标记添加到Google Map

来自分类Dev

将图钉(非标记)添加到Google Map Android

来自分类Dev

用于将标记添加到Android Google Map的异步任务卡住了

来自分类Dev

将GIF图片添加到Google Map Api v2的标记中

来自分类Dev

将GIF图片添加到Google Map Api v2的标记中

来自分类Dev

如何通过哈希图将多个标记添加到Google Map API?- (安卓)

来自分类Dev

您如何以编程方式将标记添加到聚合物Google Map元素

来自分类Dev

Android Google Map API将标题添加到我的标记中

来自分类Dev

将可点击的链接添加到Google Map标记

来自分类Dev

如何将动态Google Map添加到我的网站以获得位置

来自分类Dev

无法将Google Map添加到Navigation Drawer片段

来自分类Dev

将侦听器添加到Google Map

来自分类Dev

将图像添加到多个Google Map信息窗口

来自分类Dev

无法将Google Map添加到Navigation Drawer片段

来自分类Dev

将自定义标记文字添加到Google Map

来自分类Dev

在Wordpress中将网址添加到多个标记到Google Map

来自分类Dev

在Wordpress中将网址添加到多个标记到Google Map

来自分类Dev

如何将事件侦听器添加到 Map 标记 [] 数组

来自分类Dev

将join()添加到map()函数

来自分类Dev

将ifelse()添加到Map函数

来自分类Dev

如何动态地将列表添加到Map <DateTime,List <dynamic >>

来自分类Dev

难以将Google Guava Map元素添加到Java中的数组

来自分类Dev

将Google Map添加到我的Android应用中

来自分类Dev

如何以编程方式将 Google Map 添加到 FrameLayout

来自分类Dev

使用Google Map API将视频附加到标记

来自分类Dev

Automapper将记录添加到Map方法

来自分类Dev

将元素添加到Map内的列表(ImmutableJS)

来自分类Dev

将调色板添加到MapView-Map

来自分类Dev

Automapper将记录添加到Map方法

Related 相关文章

  1. 1

    导航地图时将标记添加到Google Map

  2. 2

    将图钉(非标记)添加到Google Map Android

  3. 3

    用于将标记添加到Android Google Map的异步任务卡住了

  4. 4

    将GIF图片添加到Google Map Api v2的标记中

  5. 5

    将GIF图片添加到Google Map Api v2的标记中

  6. 6

    如何通过哈希图将多个标记添加到Google Map API?- (安卓)

  7. 7

    您如何以编程方式将标记添加到聚合物Google Map元素

  8. 8

    Android Google Map API将标题添加到我的标记中

  9. 9

    将可点击的链接添加到Google Map标记

  10. 10

    如何将动态Google Map添加到我的网站以获得位置

  11. 11

    无法将Google Map添加到Navigation Drawer片段

  12. 12

    将侦听器添加到Google Map

  13. 13

    将图像添加到多个Google Map信息窗口

  14. 14

    无法将Google Map添加到Navigation Drawer片段

  15. 15

    将自定义标记文字添加到Google Map

  16. 16

    在Wordpress中将网址添加到多个标记到Google Map

  17. 17

    在Wordpress中将网址添加到多个标记到Google Map

  18. 18

    如何将事件侦听器添加到 Map 标记 [] 数组

  19. 19

    将join()添加到map()函数

  20. 20

    将ifelse()添加到Map函数

  21. 21

    如何动态地将列表添加到Map <DateTime,List <dynamic >>

  22. 22

    难以将Google Guava Map元素添加到Java中的数组

  23. 23

    将Google Map添加到我的Android应用中

  24. 24

    如何以编程方式将 Google Map 添加到 FrameLayout

  25. 25

    使用Google Map API将视频附加到标记

  26. 26

    Automapper将记录添加到Map方法

  27. 27

    将元素添加到Map内的列表(ImmutableJS)

  28. 28

    将调色板添加到MapView-Map

  29. 29

    Automapper将记录添加到Map方法

热门标签

归档