将 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 API v2 中更改标记大小

居中位图标记(Google Maps Android API v2)

如何使用 Google MAps API v2 围绕引脚绘制圆圈

带有 API KEY 的 Google Maps V2 Android 显示为空白