1.使用谷歌地图必须要拿到谷歌地图API的key
①获取app的debug.keystore
②获取MD5证书指纹
③打开这个地址
https://developers.google.com/maps/documentation/android-api/?csw=1
前提是得翻墙,使用刚才拿到的MD5证书指纹注册秘钥,注册的方法跟着提示走,没有google账号的话还得注册一个google账号,
④最后会拿到一个apikey值,类似于这样的值:apikey:AIzaSyAolBaVUjGg4X-kBwdxaIHBX_aTqxaAqpY
⑤注意保存好这个key值
2.在项目中如何开发谷歌地图
①sdk中是否有googleservices
Tools-android-SDKManagers
②打开projectstructure,为项目添加依赖
com.google.android.gms:play-service
③大事已成,可以使用了
3.首先是manifest中的配置
①需要的权限:
<uses-permissionandroid:name="android.permission.INTERNET"/>
<uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permissionandroid:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permissionandroid:name="android.permission.ACCESS_FINE_LOCATION"/>
②需要的配置
<
uses-feature
<uses-feature android:glEsVersion="0x00020000" android:required="true" />在application标签内添加如下内容<meta-dataandroid:name="com.google.android.gms.version"android:value="@integer/google_play_services_version"/><meta-dataandroid:name="com.google.android.maps.v2.API_KEY"android:value="AIzaSyAolBaVUjGg4X-kBwdxaIHBX_aTqxaAqpY"/>//value便是刚才拿到的key值
4.首先在xml文件中声明一个fragment作为地图的容器
<fragment
android:id="@+id/fragment"
android:name="com.google.android.gms.maps.MapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
5.activity中的代码如下
public class Main3Activity extendsAppCompatActivity implements OnMapReadyCallback {
LinearLayoutll;
@Override
protected voidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main3);
MapFragment mapFragment = (MapFragment) getFragmentManager()
.findFragmentById(R.id.fragment);
mapFragment.getMapAsync(this);
}
@Override
public voidonMapReady(GoogleMap googleMap) {
LatLng sydney =new LatLng(116,39);
if(ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED&& ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
return;
}
googleMap.setMyLocationEnabled(true);
googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(sydney,13));
googleMap.addMarker(newMarkerOptions()
.title("Sydney")
.snippet("The most populous city in Australia.")
.position(sydney));
}
}
6.ok运行就可以看到地图了,
前提是手机得翻墙,或者电脑翻墙后使用虚拟机也可以,或者用手机连接电脑的无线也行,否则就是一片空白。