我正在构建一个活动,尝试在其中放置一个小的MapFragment,但是在使其正常工作方面遇到了一些问题。我知道Maps API和Play服务都已正确安装,因为我完成了测试教程并且一切正常。
按照这里的文档,我遇到了以下问题:在我的setUpMapIfNeeded方法中,我可以使用getFragmentManager()
或getSupportFragmentManager()
。当我使用getFragmentManager()
时,Eclipse没有报错,但运行时出现NoSuchMethodError
,说明该方法未定义。当我选择getSupportFragmentManager()
时,Eclipse不喜欢它,并给我错误“无法将Fragment转换为MapFragment”。所以问题出在哪里?有什么建议吗?
private void setUpMapIfNeeded() {
//Do a null check to confirm that we have not already instantiated the map.
if (mMap == null) {
mMap = ((MapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap();
if (mMap != null) {
//do things to the map
mMap.addMarker(new MarkerOptions().position(LOCATION).title(EXTRA_URL));
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(LOCATION,15));
mMap.getUiSettings().setZoomControlsEnabled(false);
}
}
}
如果您需要其他代码,我很乐意尽快发布。请告诉我。
class="com.google.android.gms.maps.MapFragment"
- Diogo Bento