Google Map:onMapReadyCallback 无法应用于此 activity
Google Map:onMapReadyCallback can not be applied to this activity
我是尝试使用 google 地图的初学者,我已按照此处给出的说明进行操作:https://developers.google.com/maps/documentation/android-api/map?hl=zh-tw
但我卡在了mapFragment.getMapAsync(this)
,一直找不到答案。
代码如下:
public class GoogleMapPage extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.googlemap);
MapFragment mapFragment = (MapFragment) getFragmentManager().findFragmentById(R.id.map);
mapFragment.getMapAsync(this)<---it said "onMapReadyCallback can not be applied to this activity;
}
}
这里是 XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal">
<fragment
android:layout_width="300dp"
android:layout_height="300dp"
android:name="com.google.android.gms.maps.MapFragment"
android:id="@+id/map"
tools:layout="@layout/googlemap" />
您需要让 Activity 实现 OnMapReadyCallback
并覆盖方法 void onMapReady(GoogleMap googleMap)
。
public class GoogleMapPage extends FragmentActivity implements OnMapReadyCallback {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.googlemap);
MapFragment mapFragment = (MapFragment) getFragmentManager().findFragmentById(R.id.map);
mapFragment.getMapAsync(this) // <---it said "onMapReadyCallback can not be applied to this activity;
}
@Override
public void onMapReady(GoogleMap googleMap) {
// Do stuff with the map here!
}
}
我是尝试使用 google 地图的初学者,我已按照此处给出的说明进行操作:https://developers.google.com/maps/documentation/android-api/map?hl=zh-tw
但我卡在了mapFragment.getMapAsync(this)
,一直找不到答案。
代码如下:
public class GoogleMapPage extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.googlemap);
MapFragment mapFragment = (MapFragment) getFragmentManager().findFragmentById(R.id.map);
mapFragment.getMapAsync(this)<---it said "onMapReadyCallback can not be applied to this activity;
}
}
这里是 XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal">
<fragment
android:layout_width="300dp"
android:layout_height="300dp"
android:name="com.google.android.gms.maps.MapFragment"
android:id="@+id/map"
tools:layout="@layout/googlemap" />
您需要让 Activity 实现 OnMapReadyCallback
并覆盖方法 void onMapReady(GoogleMap googleMap)
。
public class GoogleMapPage extends FragmentActivity implements OnMapReadyCallback {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.googlemap);
MapFragment mapFragment = (MapFragment) getFragmentManager().findFragmentById(R.id.map);
mapFragment.getMapAsync(this) // <---it said "onMapReadyCallback can not be applied to this activity;
}
@Override
public void onMapReady(GoogleMap googleMap) {
// Do stuff with the map here!
}
}