我正在开发一个 Android 应用程序以将 google maps api 合并到一个单独的活动中。但是当我阅读教程时,它指出构建目标必须在项目创建时设置为 google api。我的问题是可以将地图添加到现有项目吗?
4 回答
我知道这是一个老问题,但是当我以前的经验是从初始应用程序创建中添加 Google Maps API 时,我试图弄清楚如何将 Google Maps 添加到现有的 Android Studio 项目中时遇到了这个问题。
在 Android Studio 中,您可以使用:
File --> New --> Google --> Google Maps Activity
或者右键单击包含所有活动的文件夹,以上内容仍将保留。
让 Android Studio 同步,您将看到一个生成的关于您的谷歌地图密钥的 xml 文件。复制粘贴 URL(它是没有缩进的),然后按照说明进行操作。之后你会得到一把钥匙。获得密钥后,将其复制粘贴到生成的 xml 文件中的“YOUR_KEY_HERE”字符串常量中,就可以开始了。
设备必须安装Google Play 服务Google Maps Android v2
才能运行:
该 API 现在作为 Google Play 服务 SDK 的一部分分发,您可以使用 Android SDK 管理器下载它。要了解如何安装该软件包,请参阅安装 Maps API SDK。
您会发现这些文档很有用!
如果您的应用程序正在运行 v1,则最好运行检查以查看是否Google Play services
已安装,如果未安装,则使用旧地图。我没有测试过它,但在这里检查答案以运行该检查。我还发现,从这里你可以这样做:
int status = GooglePlayServicesUtil.isGooglePlayServicesAvailable(getApplicationContext();
if(status == ConnectionResult.SUCCESS) {
//Success! Do what you want
}
并使用以下类型来确定设备上是否安装了 Google Play 服务:
public static int isGooglePlayServicesAvailable(上下文上下文)
验证此设备上是否安装并启用了 Google Play 服务,并且此设备上安装的版本不低于此客户端所需的版本。
返回指示是否存在错误的状态代码。ConnectionResult 中可以是以下之一:SUCCESS、SERVICE_MISSING、SERVICE_VERSION_UPDATE_REQUIRED、SERVICE_DISABLED、SERVICE_INVALID。
要使用片段添加地图,您需要执行以下操作:
private GoogleMap map;
private MapFragment mapFragment;
private void InitMap()
{
mapFragment = ((MapFragment)getSupportFragmentManager().findFragmentById(R.id.fragment_map));
map = mapFragment.getMap();
map.setMapType(GoogleMap.MAP_TYPE_NORMAL);
map.setMyLocationEnabled(false);
}
对于 Google Maps Android v2 和 Fragments,如上所述,这是一个很好的资源!哦,记得使用Google Play services SDK
!
您只需要更改项目的构建目标。
在 Eclipse 下,转到 Window > Preferences > Android 在 Project Build Target 列表中,选择一个提供 Google API 的选项。
注意:这仅在针对 Android v1的 Google Maps API 时有效。Google Maps API for Android v2由库项目提供
打开您的项目属性> Android> 查看选项库> 单击添加> google-play-services_lib 选项存在(仅当谷歌播放服务已在其他项目中正确完成所有步骤时)