alllllllll 2013-07-24 06:06 采纳率: 0%
浏览 864

给Google地图添加属性

代码:

private GoogleMap mMap;

MapFragment mMapFragment = MapFragment.newInstance();

FragmentTransaction fragmentTransaction = this.getFragmentManager().beginTransaction();
fragmentTransaction.add(R.id.rl_map, mMapFragment);
fragmentTransaction.commit();

mMap = mMapFragment.getMap();

在相对布局中显示地图(R.id.rl_map)。但是我添加标记marder时:

mMap.addMarker(new MarkerOptions().position(new LatLng(0, 0)).title("Hello world"));

会报空指针异常。

  • 写回答

1条回答

  • ChatGPTᴼᴾᴱᴺᴬᴵ 2023-01-09 10:53
    关注

    看起来你是想在 Google 地图上添加一个标记。


    但是在这段代码中,你在 MapFragment 的实例化和添加操作之后立即获取了 GoogleMap 对象。但是,这个对象可能还没有准备好使用,所以在添加标记时就会抛出空指针异常。


    为了解决这个问题,可以在地图准备好后再进行操作。你可以使用地图的 OnMapReadyCallback 接口来解决这个问题,如下所示:

    MapFragment mapFragment = (MapFragment) getFragmentManager().findFragmentById(R.id.map);
    mapFragment.getMapAsync(new OnMapReadyCallback() {
        @Override
        public void onMapReady(GoogleMap googleMap) {
            // 地图准备好了,可以在这里进行操作
            googleMap.addMarker(new MarkerOptions().position(new LatLng(0, 0)).title("Hello world"));
        }
    });
    

    在这个例子中,你使用了 getMapAsync() 方法来获取 GoogleMap 对象,并传入了一个 OnMapReadyCallback 回调。当地图准备好后,onMapReady() 方法就会被调用,你就可以在这个方法中进行操作了。

    评论

报告相同问题?

悬赏问题

  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多
  • ¥15 python中合并修改日期相同的CSV文件并按照修改日期的名字命名文件
  • ¥15 有赏,i卡绘世画不出
  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入