我在标题中描述了一个问题,目的是在片段中显示Google的地图。
这是fragment_inicio.xml
<fragment
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.google.android.gms.maps.SupportMapFragment" />
这是InicioFragment.java
public class InicioFragment extends Fragment implements OnMapClickListener {
private final LatLng UPV = new LatLng(39.481106, -0.340987);
private GoogleMap mapa;
// @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_inicio, container,
false);
return rootView;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_inicio);
mapa = ((SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map)).getMap();
mapa.setMapType(GoogleMap.MAP_TYPE_SATELLITE);
mapa.moveCamera(CameraUpdateFactory.newLatLngZoom(UPV, 15));
mapa.setMyLocationEnabled(true);
mapa.getUiSettings().setZoomControlsEnabled(false);
mapa.getUiSettings().setCompassEnabled(true);
mapa.addMarker(new MarkerOptions()
.position(UPV)
.title("UPV")
.snippet("Universidad Politécnica de Valencia")
.icon(BitmapDescriptorFactory
.fromResource(android.R.drawable.ic_menu_compass))
.anchor(0.5f, 0.5f));
mapa.setOnMapClickListener(this);
}
private void setContentView(int fragmentInicio) {
// TODO Auto-generated method stub
}
public void moveCamera(View view) {
mapa.moveCamera(CameraUpdateFactory.newLatLng(UPV));
}
public void animateCamera(View view) {
if (mapa.getMyLocation() != null)
mapa.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(
mapa.getMyLocation().getLatitude(), mapa.getMyLocation()
.getLongitude()), 15));
}
public void addMarker(View view) {
mapa.addMarker(new MarkerOptions().position(new LatLng(mapa
.getCameraPosition().target.latitude,
mapa.getCameraPosition().target.longitude)));
}
@Override
public void onMapClick(LatLng puntoPulsado) {
mapa.addMarker(new MarkerOptions().position(puntoPulsado).icon(
BitmapDescriptorFactory
.defaultMarker(BitmapDescriptorFactory.HUE_YELLOW)));
}
}
感谢您对此错误的任何帮助。
感谢
修改
试试你提到我但我仍然约会错误。
错误现在告诉我:
无法从Fragment转换为SupportMapFragment
该项目给了我所以我对appcompat_v7和v4没有太多了解,所以我理解你的评论v4更好吗?
这个项目是一个互联网的例子,只是添加了地图,现在他们说他们想要离开这个位置。
这是最好的方式还是寻找另一种方法来添加定位的谷歌地图。
使用GoogleMap询问Fragment的示例是否太过分了,而不是其他请求。
答案 0 :(得分:0)
而不是使用getSupportFragmentManager()
使用getFragmentManager()
。
看起来您使用的是android.app.Activity和相关的Fragments,而不是v4支持库提供的支持Activity和Fragments。
如果您需要使用支持片段,请参阅导入支持库片段和活动。如果没有替换片段管理器
如需更多帮助,请参阅Fragment vs Support Fragments