我是StackOverflow和Maps API的新手。我正在开发一个使用抽屉布局的应用程序。我想使用其中一个Drawer片段来显示Maps并使用Markers。
private SupportMapFragment mapFragment;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mapFragment = (SupportMapFragment)
getActivity().getSupportFragmentManager().findFragmentById(R.id.map);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_maps, container, false);
mapFragment.getMapAsync(this);
return view;
}
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
// Add a marker in Sydney and move the camera
LatLng sydney = new LatLng(-34, 151);
mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney"));
mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));
}
这是fragment_maps.xml
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.labcontrol.lca.view.MapsFragment">
<fragment
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.labcontrol.lca.controller.MainActivity" />
</FrameLayout>
在官方指南中,他们使用Activity制作了一个示例,您可以看到我尝试在片段中执行此操作。有可能吗?
结果是:地图工作正常,但我看不到我创建的标记,我花了太多时间试图找出原因。 在手机上使用地图和更换相机时,唯一让我怀疑的是这个错误:
W / Google Maps Android API:不推荐使用GLHudOverlay; draw():no-op发现这是一个常见问题,这是一个非常新的错误。有人知道如何启动和运行?代码有问题吗? 非常感谢