在onCreate方法中,我利用SupportMapFragment来显示地图。
SupportMapFragment fragment = new SupportMapFragment();
getSupportFragmentManager().beginTransaction()
.add(android.R.id.content, fragment).commit();
与此结合,我想添加一个标记。问题是,当对的调用getMap为null时,何时可以重试?是否有我可以注册的事件,或者我的方法本身就是错误的?
mMap = ((SupportMapFragment)(getSupportFragmentManager().findFragmentById(R.id.map))).getMap();
if(mMap == null)
//what do I do here?
该地图实际上正在电话上显示,但是我似乎没有运气来获取添加标记的参考。
更新:
我之所以SupportMapFragment通过构造函数创建via,是因为典型的setContentView崩溃了并且无法正常工作。这使我陷入困境,onCreate因为我当时实际上是在创建方法,因此我无法在该方法中获得引用SupportMapFragment。在进一步的调查中,似乎我的setContentView问题是没有同时将Google Play服务jar和模块/ src设置为整个项目的一部分。完成上述两项操作后,setContentView现在可以正常工作了,我可以通过getMap()期望的方式获得参考。
lots.xml ...
<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />
LotsActivity.java ...
public class LotsActivity extends FragmentActivity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.lots);
GoogleMap mMap;
mMap = ((SupportMapFragment)(getSupportFragmentManager().findFragmentById(R.id.map))).getMap();
if(mMap == null)
//this should not occur now
}
缥缈止盈
波斯汪
桃花长相依
相关分类