Java 不推荐使用Google Maps.getMap()
我在Android应用程序上使用谷歌地图。在升级新版本的Google Play Services之前,它使用以下代码获取片段:Java 不推荐使用Google Maps.getMap(),java,android,gradle,maps,Java,Android,Gradle,Maps,我在Android应用程序上使用谷歌地图。在升级新版本的Google Play Services之前,它使用以下代码获取片段: GoogleMap googleMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap(); 自从我更新到9.2.1版后,.getMap已被弃用。是否有新的实践来声明片段 谢谢您的回复?看起来很合适。不过,您必须调整您的实现。调用是异步的,您不会立即获得映射。另一方面,你
GoogleMap googleMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
自从我更新到9.2.1版后,.getMap已被弃用。是否有新的实践来声明片段
谢谢您的回复?看起来很合适。不过,您必须调整您的实现。调用是异步的,您不会立即获得映射。另一方面,你不会有问题,因为当你开始使用地图时,地图没有被加载。看起来很合适。不过,您必须调整您的实现。调用是异步的,您不会立即获得映射。另一方面,您也不会因为开始使用映射时没有加载它而出现问题。您应该用getMapAsync替换getMap 根据官方文件,GetMapAsync需要一个回调,这就是你做谷歌地图主要工作的地方。看看下面的代码片段
public class MapPane extends Activity implements OnMapReadyCallback {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.map_activity);
MapFragment mapFragment = (MapFragment) getFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
}
@Override
public void onMapReady(GoogleMap map) {
//DO WHATEVER YOU WANT WITH GOOGLEMAP
map.setMapType(GoogleMap.MAP_TYPE_HYBRID);
map.setMyLocationEnabled(true);
map.setTrafficEnabled(true);
map.setIndoorEnabled(true);
map.setBuildingsEnabled(true);
map.getUiSettings().setZoomControlsEnabled(true);
}
}
希望这对您有所帮助。您应该用getMapAsync替换getMap 根据官方文件,GetMapAsync需要一个回调,这就是你做谷歌地图主要工作的地方。看看下面的代码片段
public class MapPane extends Activity implements OnMapReadyCallback {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.map_activity);
MapFragment mapFragment = (MapFragment) getFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
}
@Override
public void onMapReady(GoogleMap map) {
//DO WHATEVER YOU WANT WITH GOOGLEMAP
map.setMapType(GoogleMap.MAP_TYPE_HYBRID);
map.setMyLocationEnabled(true);
map.setTrafficEnabled(true);
map.setIndoorEnabled(true);
map.setBuildingsEnabled(true);
map.getUiSettings().setZoomControlsEnabled(true);
}
}
希望这对你有帮助