1

我正在尝试将 Actionbarsherlock 与标签栏一起使用,并且在其中一个水龙头中我想要一张地图。我已经使用谷歌地图 v2 在 sherlockfragment 中成功创建了一张地图,但我想以编程方式将标记添加到地图中。

public class Map_fragment extends SherlockFragment {
static final LatLng Cph = new LatLng(55.702355,12.436523);
private final static String MAP_TAG = "map";
private GoogleMap mMap;
SupportMapFragment mMapFragment;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
        Bundle savedInstanceState){
    SupportMapFragment map = (SupportMapFragment) (getSherlockActivity().getSupportFragmentManager().findFragmentByTag(MAP_TAG));
    if(map==null){
        Log.d("MAP", "NULL");
        }
    if(map!=null){
    Log.d("MAP", "   " + map);
    Log.d("GETMAP", " " + map.getMap());
    }


    //GoogleMap mMap = map.getMap();
    //mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(Cph, 14));
    return inflater.inflate(R.layout.mapv2_layout, container, false);


}
@Override
public void onViewCreated(View view, Bundle savedInstanceState){
    super.onViewCreated(view, savedInstanceState);

}
@Override
public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);

}
@Override
public void onAttach(Activity activity) {
    // TODO Auto-generated method stub

    super.onAttach(activity);
}
public void setupMap(){
    Log.d("SUCCESS" , "SUCCESS");
}
}

我已经尝试过来自其他站点的许多不同建议以及堆栈溢出的帖子,但地图始终为空。

在其他人的建议下,我尝试了 onCreate 和 onAttach ,但没有运气。

我已经尝试了很长时间,我正要拔掉我的头发:(

4

1 回答 1

0

我通过手动将 SherlockMapFragment 类添加到 ActionBarSherlock 库中解决了这个问题,在这里可以找到http://code.google.com/p/opendatakit/source/browse/src/com/actionbarsherlock/app/SherlockMapFragment.java?spec=svn。表.35872cc920b5668de433c6fc81efc86c4970bac1&repo=tables&r=0c1b0212e5b8bb5af8ce2b8e9357cd30e3870084

然后通过以下几行,我终于得到了不为空的“gMap”

SupportMapFragment map;
    map = (SupportMapFragment) (getSherlockActivity().getSupportFragmentManager().findFragmentById(R.id.map));
    gMap = map.getMap();
于 2013-05-04T23:29:29.843 回答