将 Google maps api v2 添加到现有项目
Posted
技术标签:
【中文标题】将 Google maps api v2 添加到现有项目【英文标题】:Adding Google maps api v2 to an existing project 【发布时间】:2013-02-21 09:09:51 【问题描述】:我正在开发一个 android 应用程序以将 google maps api 合并到一个单独的活动中。但是当我阅读教程时,它指出构建目标必须在项目创建时设置为 google api。我的问题是可以将地图添加到现有项目吗?
【问题讨论】:
什么?您当然可以通过 MapFragment 将地图添加到现有项目中。 developers.google.com/maps/documentation/android/start 您的应用程序的目标是什么 API? 很酷,刚刚查看了该教程,所以如果我的项目针对 api 17,则无需在构建目标中指定 google api? 你的 minSdkVersion 是多少? 【参考方案1】:我知道这是一个老问题,但是当我之前的经验是从初始应用创建中添加 Google Maps API 时,我试图弄清楚如何将 Google Maps 添加到现有的 Android Studio 项目中时遇到了这个问题。
在 Android Studio 中,您可以使用:
File --> New --> Google --> Google Maps Activity
或右键单击包含所有活动的文件夹,以上内容仍将保留。
让 Android Studio 同步,您将看到一个生成的关于您的谷歌地图密钥的 xml 文件。复制粘贴 URL(它是没有缩进的),然后按照说明进行操作。之后你会得到一把钥匙。获得密钥后,将其复制粘贴到生成的 xml 文件中的“YOUR_KEY_HERE”字符串常量中,就可以开始了。
【讨论】:
就是我想不通的。谢谢。【参考方案2】:设备必须安装Google play services,Google Maps Android v2
才能运行:
API 现在作为 Google Play 服务 SDK 的一部分分发,您可以使用 Android SDK 管理器下载它。要了解如何安装该软件包,请参阅安装 Maps API SDK。
你会发现这些docs很有用!
如果您的应用程序正在运行 v1,最好运行检查以查看是否安装了 Google Play services
,如果未安装,则使用旧地图。我没有测试过它,但检查答案here 以运行该检查。我还发现,从here 你可以这样做:
int status = GooglePlayServicesUtil.isGooglePlayServicesAvailable(getApplicationContext();
if(status == ConnectionResult.SUCCESS)
//Success! Do what you want
并使用以下类型来确定设备上是否安装了 Google Play Services:
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,如上所述,this is a great resource!哦,记得使用Google Play services SDK
!
【讨论】:
已经安装了google play服务和api,所以我的模拟器设置好了。你说添加地图最简单的方法是使用地图片段吗? 这并不是一个简单的例子,我会用我的做法来更新我的答案。 哦,值得注意的是,您必须在设备上进行测试。它不适用于模拟器。【参考方案3】:您只需更改项目的构建目标。
在 Eclipse 下,转到 Window > Preferences > Android 在 Project Build Target 列表中,选择提供 Google API 的一个。
注意:这仅在面向 Android v1 的 Google Maps API 时有效。 Google Maps API for Android v2 由 library project
提供【讨论】:
【参考方案4】:打开您的项目属性> Android> 查看选项库> 单击添加> google-play-services_lib 选项存在(仅当已在其他项目中正确完成所有步骤的情况下使用了 google-play 服务)
【讨论】:
以上是关于将 Google maps api v2 添加到现有项目的主要内容,如果未能解决你的问题,请参考以下文章
在 Google Maps API v2 Android 中添加多个标记
添加大量标记时,Google Maps Android API v2 非常慢
居中位图标记(Google Maps Android API v2)