私はすでにこの問題について多くのトピックを読んでいますが、何も役に立ちませんでした。したがって、SupportMapFragment で GoogleMap を操作したいと考えています。FragmentActivity では、onCreate メソッドでマップを初期化しました
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.content_frame);
// Initialize Google Maps Android API
try {
MapsInitializer.initialize(this);
} catch (GooglePlayServicesNotAvailableException e) {
e.printStackTrace();
}
...
私のMapFragmentのコードはまさにこのように見えます
public class MapFragment extends SupportMapFragment {
private final String TAG = getClass().getSimpleName();
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.map, null);
}
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
GoogleMap gMap = this.getMap();
Log.d(TAG,
"getMap() " + ((gMap == null) ? "null" : gMap.toString()));
// Setting Location and Zoom
gMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(
40.76793169992044f, -73.98180484771729f), 14.0f));
}
}
getMap メソッドで null を取得するたびに...アイデアはありますか?
€同上:
<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.google.android.gms.maps.SupportMapFragment"
map:cameraBearing="112.5"
map:cameraTargetLat="-33.796923"
map:cameraTargetLng="150.922433"
map:cameraTilt="30"
map:cameraZoom="50"
map:mapType="normal"
map:uiCompass="false"
map:uiRotateGestures="true"
map:uiScrollGestures="false"
map:uiTiltGestures="true"
map:uiZoomControls="false"
map:uiZoomGestures="true" />