必需 com.google.android.gms.GoogleMap 发现无效
Required com.google.android.gms.GoogleMap found void
我在网上查找了一个解决方案,因为 getMap() 方法已被弃用,因此,我想用 getMapAsync(); 替换它。我搜索了 google 以及 androids 官方文档,但我仍然卡住了,请帮忙。
我现在收到一条错误消息,提示类型不兼容
必需 com.google.android.gms.GoogleMap 发现无效。
public class Maps extends AppCompatActivity implements OnMapReadyCallback {
private GoogleMap googleMap;
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.Maps);
googleMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(
R.id.mapFragment)).getMapAsync(this);
LatLng latlong = new LatLng(lat, lon);
googleMap.addMarker(new MarkerOptions().position(latlong).title(name));
googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latlong, 15));
}
@Override
public void onMapReady(GoogleMap googleMap) {
}
}
下面这个方法报错,说类型不兼容
必需 com.google.android.gms.GoogleMap 发现无效。
googleMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(
R.id.mapFragment)).getMapAsync(this);
getMapAsync
具有 return 类型 void,而您正在尝试分配它
googleMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(
R.id.mapFragment)).getMapAsync(this);
到googleMap
。这没有多大意义。仅调用 getMapAsync
喜欢
((SupportMapFragment) getSupportFragmentManager().findFragmentById(
R.id.mapFragment)).getMapAsync(this);
并在调用 onMapReady
时分配 googleMap
。例如
@Override
public void onMapReady(GoogleMap googleMap) {
this.googleMap = googleMap;
}
我在网上查找了一个解决方案,因为 getMap() 方法已被弃用,因此,我想用 getMapAsync(); 替换它。我搜索了 google 以及 androids 官方文档,但我仍然卡住了,请帮忙。
我现在收到一条错误消息,提示类型不兼容 必需 com.google.android.gms.GoogleMap 发现无效。
public class Maps extends AppCompatActivity implements OnMapReadyCallback {
private GoogleMap googleMap;
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.Maps);
googleMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(
R.id.mapFragment)).getMapAsync(this);
LatLng latlong = new LatLng(lat, lon);
googleMap.addMarker(new MarkerOptions().position(latlong).title(name));
googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latlong, 15));
}
@Override
public void onMapReady(GoogleMap googleMap) {
}
}
下面这个方法报错,说类型不兼容 必需 com.google.android.gms.GoogleMap 发现无效。
googleMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(
R.id.mapFragment)).getMapAsync(this);
getMapAsync
具有 return 类型 void,而您正在尝试分配它
googleMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(
R.id.mapFragment)).getMapAsync(this);
到googleMap
。这没有多大意义。仅调用 getMapAsync
喜欢
((SupportMapFragment) getSupportFragmentManager().findFragmentById(
R.id.mapFragment)).getMapAsync(this);
并在调用 onMapReady
时分配 googleMap
。例如
@Override
public void onMapReady(GoogleMap googleMap) {
this.googleMap = googleMap;
}