地图非常有用,可以提高应用程序的生产率。谷歌地图API允许Android开发者将谷歌地图集成到他们的应用程序中。
null
下面是将谷歌地图集成到Android应用程序的一步一步的过程:
- 后藤 https://developers.google.com/maps/documentation/android-api/signup 点击 “开始吧” 按钮如图所示:
- 现在,选中地图复选框并单击继续按钮,如下所示:
- 选择要在其中启用Google Map API的项目,然后单击Next。将为所选项目生成一个新密钥。
- 跳过计费过程
- 要集成Google Map API,需要机器的SHA1证书。因此,要查找SHA1证书,请执行以下步骤:
- 打开命令提示符并转到Java bin文件夹
cd C:Program FilesJavajdk1.8.0_91in
- 使用以下CMD命令获取证书示意图:
keytool-list-v-keystore“%USERPROFILE%.androiddebug.keystore”-别名androiddebugkey-storepass-android-keypass-android
- 打开命令提示符并转到Java bin文件夹
- 去 https://console.developers.google.com/apis/credentials
- 在 API密钥 部分,点击 铅笔扣 位于要选择的API密钥右侧,用于附加应用程序。
- 在应用程序限制中,选择Android应用程序
- 点击添加包名和指纹
- 输入应用程序的软件包名称和在上述步骤中找到的指纹,然后单击“保存”按钮。
- 在Project->app->src->build中插入以下内容。渐变->依赖项
compile 'com.google.android.gms:play-services:11.6.0'
- 在AndroidManifest的元素中添加以下声明。xml
<
meta-data
android:name
=
"com.google.android.gms.version"
android:value
=
"@integer/google_play_services_version"
/>
<
meta-data
android:name
=
"com.google.android.maps.v2.API_KEY"
android:value
=
"ENTER API_KEY GENERATED BY YOU IN ABOVE STEPS"
/>
- 在清单中添加以下权限。xml
<
uses-permission
android:name
=
"android.permission.WRITE_EXTERNAL_STORAGE"
/>
<
uses-permission
android:name
=
"android.permission.INTERNET"
/>
<
uses-permission
android:name
=
"android.permission.ACCESS_NETWORK_STATE"
/>
- 在清单中指定以下规格。xml
<
uses-feature
android:glEsVersion
=
"0x00020000"
android:required
=
"true"
/>
- 在ActivityMain中添加以下片段代码。用于将谷歌地图添加到活动的xml。
<
fragment
android:id
=
"@+id/map"
class
=
"com.google.android.gms.maps.SupportMapFragment"
android:layout_width
=
"match_parent"
android:layout_height
=
"match_parent"
/>
- 在MainActivity中添加以下代码。JAVA
public
class
MapsMarkerActivity
extends
AppCompatActivity
implements
OnMapReadyCallback {
@Override
protected
void
onCreate(Bundle savedInstanceState)
{
super
.onCreate(savedInstanceState);
// Retrieve the content view that renders the map.
setContentView(R.layout.ActivityMain);
// Get the SupportMapFragment and request notification
// when the map is ready to be used.
SupportMapFragment mapFragment = (SupportMapFragment)
getSupportFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(
this
);
}
@Override
public
void
onMapReady(GoogleMap googleMap)
{
// Add a marker in Sydney, Australia,
// and move the map's camera to the same location.
LatLng myPos =
new
LatLng(Location.getLatitude(), Location.getLongitude());
googleMap.moveCamera(CameraUpdateFactory.newLatLng(myPos));
}
}
- 运行代码。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END