com.google.android.gms.maps.MapFragment:无法解析符号" maps"

时间:2014-11-13 04:05:41

标签: android google-maps

我已经遵循了所有指示,没有任何问题:

https://developers.google.com/maps/documentation/android/start#getting_the_google_maps_android_api_v2

最后,我按照最后一条指令来测试地图是否正常工作,用以下内容更新我的activity_map.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
          android:id="@+id/map"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:name="com.google.android.gms.maps.MapFragment"/>

但是,在最后一行中,com.google之后的所有内容都是红色,而鼠标悬停时,我会收到“无法解析符号'MapFragment'的消息。

现在任何想法都会有很大的帮助。

9 个答案:

答案 0 :(得分:52)

执行以下操作来解决问题:

Install Google Play services

Go File->Project Structure...

Dependencies Tab, Add com.google.android.gms

最后:点击&#34; +&#34; 按钮

之后,清理并重建项目!

答案 1 :(得分:20)

将Google Play服务添加到您的项目中

要使您的应用可以使用Google Play服务API:

  1. 打开应用程序模块目录中的build.gradle文件。

  2. 为最新版本的play-services在依赖项下添加新的构建规则

  3. 例如

    apply plugin: 'com.android.application'
    ...
    
    dependencies {
    compile 'com.android.support:appcompat-v7:21.0.3'
    compile 'com.google.android.gms:play-services:6.5.87'
    }
    
    1. 保存更改,然后单击工具栏中的“使用Gradle文件同步项目”。

    2. 打开您应用的清单文件,并将以下标记添加为<application>元素的子代:

      <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />

    3. 此步骤将删除上述错误。此特定解决方案仅适用于Android studio。

      了解更多信息,请访问:http://developer.android.com/google/play-services/setup.html

答案 2 :(得分:2)

尝试在清单文件中添加以下行:

添加以下权限

<permission
        android:name="com.example.mapexdemo.permission.MAPS_RECEIVE"
        android:protectionLevel="signature" />

并添加以下内容:

 <meta-data
       android:name="com.google.android.maps.v2.API_KEY"
       android:value="AIzaSyDxEkfvGvKy.........your api key" />

  <meta-data android:name="com.google.android.gms.version"
      android:value="@integer/google_play_services_version" />

答案 3 :(得分:2)

implementation "com.google.android.gms:play-services-location:15.0.1"
implementation "com.google.android.gms:play-services-places:15.0.1"

答案 4 :(得分:1)

您需要使用支持地图片段

<fragment
    android:id="@+id/map"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    class="com.google.android.gms.maps.SupportMapFragment" />

试试这个它会完成工作....

答案 5 :(得分:1)

将以下库添加到应用gradle。

implementation "com.google.android.gms:play-services-location:17.0.0"
implementation "com.google.android.gms:play-services-places:17.0.0"

答案 6 :(得分:0)

我通过将android SDK位置移动到没有空格的文件夹来解决了这个问题。

说明:

    来自android studio的
  1. 打开SDK Manager
  2. 导航至:
      

    系统设置&gt; Android SDK,

  3. 检查Android SDK Location(顶部的第三行)文件夹名称是否包含空格(例如c:\My Documents\Android\SDK
  4. 使用Windows文件资源管理器创建一个新文件夹并复制内容
  5. 现在使用SDK Manger类型编辑并更改为新文件夹

答案 7 :(得分:-1)

我有同样的问题。我也更新了Google Play服务。

添加以下行,可以帮助我解决编译问题:

compile 'com.google.android.gms:play-services-maps:10.0.0'

您的app.gradle

答案 8 :(得分:-2)

<fragment
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/map"
        android:name="com.google.android.gms.maps.SupportMapFragment"/>