com.google.android.maps 在 Android Studio 中不存在

Posted

技术标签:

【中文标题】com.google.android.maps 在 Android Studio 中不存在【英文标题】:com.google.android.maps doesn't exist in Android studio 【发布时间】:2015-11-15 05:24:31 【问题描述】:

我在编译时收到 com.google.android.maps does not exist 错误。

但在 Eclipse 中,我可以在 F:\backup e\Software\Android Eclipse\bundle\sdk\add-ons\addon-google_apis-google-19\libs 中使用 maps 库。所以它不会引发编译错误。

但在 Android Studio 中,我不知道如何正确添加地图库。我已将地图库直接添加到工作室,但它对我不起作用。

Gradle 构建:

 error: package com.google.android.maps does not exist
 error: package com.google.android.maps does not exist
 error: cannot find symbol class Overlay
 error: cannot find symbol class MapView
 error: cannot find symbol class MapView
 error: method does not override or implement a method from a supertype
 error: cannot find symbol variable super

RouteOverlay.java:

import com.google.android.maps.MapView;
import com.google.android.maps.Overlay;

public class RouteOverlay extends Overlay 

 @Override
    public final void draw(final Canvas canvas, final MapView mapView, final boolean shadow) 
    super.draw(canvas, mapView, shadow);



build.gradle:

dependencies 
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile files('libs/Parse-1.9.3.jar')
    compile files('libs/bolts-android-1.2.0.jar')


    compile 'com.android.support:appcompat-v7:22.0.0'
    compile 'com.google.android.gms:play-services:7.8.0'
    compile 'com.jakewharton.timber:timber:2.4.+'
    compile 'com.squareup.retrofit:retrofit:1.6.1'

任何人都可以帮助我。谢谢。

【问题讨论】:

可能您没有从 SDK 管理器安装 Google Play 服务,您可以检查一下吗? @helbaroudy 一切都安装好了。 我看到你包含了 com.google.android.gms:play-services:7.8.0,但是你不能在你的 RouteOverlay 类中使​​用它。所以只需删除这个类。如果你有问题,来这里,有显示路线的新方法(PolylineOptions) 【参考方案1】:

MapOverlay 等在谷歌地图 v2 中不支持。

你必须使用默认的 MapFragment

【讨论】:

没有。它在 Eclipse 中而不是在工作室中工作。由于库问题。【参考方案2】:

您正在使用 Google Maps API v1 的旧代码。 包现在有点不同: https://developers.google.com/android/reference/com/google/android/gms/maps/package-summary

按照此指南(以及左侧的其他页面,不仅是此链接!): https://developers.google.com/maps/documentation/android/config

【讨论】:

我必须做些什么来克服这个问题。但只有这些代码解决了我的要求。 对不起,我没有得到你的问题。 “Overlay”类和包“com.google.android.maps”是旧的,指的是 google maps api 的版本 1。在 android studio(以及更一般的 android)中,版本 1 已被弃用且不再可用,因此您必须迁移代码。每个类或过程都没有这样的 1-1 映射,因此您必须详细说明代码。 那是谷歌地图 v2。我已经提到了这个tutorial

以上是关于com.google.android.maps 在 Android Studio 中不存在的主要内容,如果未能解决你的问题,请参考以下文章

import com.google.android.maps.geopoint 无法解析

不了解 com.google.android.maps.Overlay 的 drawAt() 方法

将gradle中的外部jar添加到Android项目

为啥 MapView 显示的少于 Map 应用程序?

《Gradle权威指南》--Android Gradle高级自定义

错误:请在 Android Studio 2.0 中选择 Android SDK