【发布时间】:2020-01-13 07:10:19
【问题描述】:
我正在使用 kotlin,我想在片段内的 androidx 应用程序中实现谷歌地图。
我尝试了 mapView,但在我运行该应用程序时它不显示任何地图。
【问题讨论】:
标签: google-maps kotlin fragment androidx
我正在使用 kotlin,我想在片段内的 androidx 应用程序中实现谷歌地图。
我尝试了 mapView,但在我运行该应用程序时它不显示任何地图。
【问题讨论】:
标签: google-maps kotlin fragment androidx
您可以在活动中使用 mapView 并将片段实现为
public class SomeFragment extends Fragment {
MapView mapView;
GoogleMap map;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.some_layout, container, false);
// Gets the MapView from the XML layout and creates it
mapView = (MapView) v.findViewById(R.id.mapview);
mapView.onCreate(savedInstanceState);
// Gets to GoogleMap from the MapView and does initialization stuff
map = mapView.getMap();
map.getUiSettings().setMyLocationButtonEnabled(false);
map.setMyLocationEnabled(true);
// Needs to call MapsInitializer before doing any CameraUpdateFactory calls
try {
MapsInitializer.initialize(this.getActivity());
} catch (GooglePlayServicesNotAvailableException e) {
e.printStackTrace();
}
// Updates the location and zoom of the MapView
CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngZoom(new LatLng(43.1, -87.9), 10);
map.animateCamera(cameraUpdate);
return v;
}
@Override
public void onResume() {
mapView.onResume();
super.onResume();
}
@Override
public void onDestroy() {
super.onDestroy();
mapView.onDestroy();
}
@Override
public void onLowMemory() {
super.onLowMemory();
mapView.onLowMemory();
}
}
【讨论】: