Google地图API的官方文档将代码放在Activity中。
但是当我搜索片段解决方案时,我发现一些解决方案使用了getMap()方法,但是这个方法已被弃用。
所以我想问的是:如何在新版Google Map API中做到这一点?
请帮帮我。非常感谢。
答案 0 :(得分:0)
您应该使用getMapAsync
方法而不是getMap
:
<强> activity_maps.xml 强>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/map"
tools:context=".MapsActivity"
android:name="mypackage.MyMapFragment" />
<强> mypackage.MyMapFragment.java 强>
public class MyMapFragment extends SupportMapFragment implements OnMapReadyCallback{
GoogleMap mMap;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getMapAsync(this);;
}
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
mMap.addMarker(new MarkerOptions().position(new LatLng(40, -4)).title("My Marker"));
mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(40, -4), 13));
}
}
<强> MapsActivity.java 强>
public class MapsActivity extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
}
}
答案 1 :(得分:0)
您可以通过在<application>
的{{1}}元素中添加以下声明来指定Google Play service版本号。这会嵌入应用程序编译的Google Play服务版本。
AndroidManifest.xml
方法已被弃用。您应该使用public void getMapAsync (OnMapReadyCallback callback)
方法。它设置了一个回调对象,当GoogleMap
实例准备好使用时将触发该回调对象。