谷歌地图V2的Android方法的GetMap()返回null [英] Google map v2 android method getMap() returns null
本文介绍了谷歌地图V2的Android方法的GetMap()返回null的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在我的应用程序,我使用谷歌地图编程,但是当我打电话的GetMap()返回null。 连我都试过onActivityCreated(),但仍返回null。 有人请帮助我.. 这是我的code,
公共无效callMap(){
尝试 {
INT状态= GooglePlayServicesUtil
.isGooglePlayServicesAvailable(mActivity);
如果(状态== ConnectionResult.SUCCESS){
Log.d(sreedhu,谷歌Play业务可用);
GMO =(新GoogleMapOptions())。zoomControlsEnabled(真)
.rotateGesturesEnabled(真正的);
mapFragment = SupportMapFragment.newInstance(GMO);
地图= mapFragment.getMap();
经理= getFragmentManager();
FragmentTransaction fragmentTransaction =经理
.beginTransaction();
fragmentTransaction.add(R.id.mapFragmentHole,mapFragment);
fragmentTransaction.commit();
manager.executePendingTransactions();
mapFragment =的GetMap();
}否则,如果(GooglePlayServicesUtil.isUserRecoverableError(状态)){
ErrorDialogFragment.newInstance(状态).show(
getFragmentManager(),errorDialog);
} 其他 {
Toast.makeText(mActivity,谷歌地图v2的不可用,
Toast.LENGTH_LONG).show();
mActivity.popFragments();
}
}赶上(例外五){
Log.d(sreedhu,玩+ e.toString());
}
}
解决方案
最后,我对这个问题的修复...
我有这个下篇片段上onCreateView这解决了我的问题,
SupportMapFragment mFragment;
mFragment =新SupportMapFragment(){
@覆盖
公共无效onActivityCreated(包savedInstanceState){
super.onActivityCreated(savedInstanceState);
如果((图= mFragment.getMap())!= NULL){
setUpMap();
}
}
};
在地图上是prepared的SuppotMapFragment的onActivityCreated将调用这里你可以设置你的地图。
In my application I am using google map programmatically, but when I call getMap() it returns null. even I have tried onActivityCreated() but still it returns null. somebody please help me.. Here is my code,
public void callMap() {
try {
int status = GooglePlayServicesUtil
.isGooglePlayServicesAvailable(mActivity);
if (status == ConnectionResult.SUCCESS) {
Log.d("sreedhu", "Google Play Service Available");
gmo = (new GoogleMapOptions()).zoomControlsEnabled(true)
.rotateGesturesEnabled(true);
mapFragment = SupportMapFragment.newInstance(gmo);
map=mapFragment.getMap();
manager=getFragmentManager();
FragmentTransaction fragmentTransaction = manager
.beginTransaction();
fragmentTransaction.add(R.id.mapFragmentHole, mapFragment);
fragmentTransaction.commit();
manager.executePendingTransactions();
mapFragment=getMap();
} else if (GooglePlayServicesUtil.isUserRecoverableError(status)) {
ErrorDialogFragment.newInstance(status).show(
getFragmentManager(), "errorDialog");
} else {
Toast.makeText(mActivity, "Google Map v2 not available",
Toast.LENGTH_LONG).show();
mActivity.popFragments();
}
} catch (Exception e) {
Log.d("sreedhu", "play" + e.toString());
}
}
解决方案
Finally, I got the fix for this problem...
I include this below piece of snippet on onCreateView which solved my problem,
SupportMapFragment mFragment;
mFragment = new SupportMapFragment() {
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
if ((map = mFragment.getMap()) != null) {
setUpMap();
}
}
};
Once the map is prepared the SuppotMapFragment's onActivityCreated will get called there you can setup your map.
这篇关于谷歌地图V2的Android方法的GetMap()返回null的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文