我會嘗試在名爲RoeteFragment
的片段上的Android應用程序中顯示地圖。如果我調試我的代碼,我發現方法onMapReady
永遠不會被調用,所以地圖不會加載。MapView.onMapReady從未在Fragment中調用Map Map在MapView中加載
該片段執行OnMapReadyCallback
像需要和在onCreateView
我得到MapView
並呼籲getMapAsync
。如果我在該方法上放置一個斷點,它將一直被擊中,onMapReady
內的斷點從未被擊中。沒有異常拋出。
我在文件res/values/google_maps_api.xml
中也有一個有效的Google Maps API密鑰。
這裏是我的代碼:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.gms.maps.MapView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/map" />
</RelativeLayout>
public class RoeteFragment extends Fragment implements OnMapReadyCallback {
private MapView mapView;
private static Roete _roete;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_roete, container, false);
mapView = (MapView) view.findViewById(R.id.map);
mapView.getMapAsync(this);
return view;
}
@Override
public void onMapReady(GoogleMap googleMap) {
if (_roete != null && _roete.getAankomstLocatie() != null && _roete.getVertrekLocatie() != null) {
LatLng aankomst = new LatLng(_roete.getAankomstLocatie().getLatitude(), _roete.getAankomstLocatie().getLongitude());
googleMap.addMarker(new MarkerOptions().position(aankomst).title("aankomst"));
googleMap.moveCamera(CameraUpdateFactory.newLatLng(aankomst));
LatLng vertrek = new LatLng(_roete.getVertrekLocatie().getLatitude(), _roete.getVertrekLocatie().getLongitude());
googleMap.addMarker(new MarkerOptions().position(vertrek).title("vertrek"));
googleMap.moveCamera(CameraUpdateFactory.newLatLng(vertrek));
}
}
public static Fragment newInstance() {
return new RoeteFragment();
}
public static Fragment newInstance(Roete roete) {
_roete = roete;
return newInstance();
}
}
你能提交的bug在我的代碼?
嘗試使用支持地圖片段。 它也將工作在碎片。 https://developers.google.com/android/reference/com/google/android/gms/maps/SupportMapFragment – androidnoobdev
@androidnoobdev:非常感謝它現在的工作:) –
@androidnoobdev:只有一個問題,我看到的是我可以不使用地圖。我的意思是我無法縮放或移動相機。 –