我有一个包含多个导入的活动类,但其中一些在Eclipse中无法识别。我看到无法解析错误导入类名。
那是我的代码:
package com.ap.mapa;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.MapFragment;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.Marker;
import com.google.android.gms.maps.model.MarkerOptions;
public class MapaLugaresActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mapa_lugares);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.mapa_lugares, menu);
return true;
}
}
错误发生在每个导入com.google.android.gms.maps中。如果我输入另一个类作为import android.content.Context;没有错误。
我该如何修复它们?
感谢。
答案 0 :(得分:28)
确保您使用的api版本是Google API以及安装了Google Play服务
Google Play服务
打开SDK Manager,滚动到底部,展开“其他”,选择“Google Play服务”,接受并下载。
安装完成后,将其导入工作区
<强>项目强>
Google API控制台 因此,复制SHA1指纹后,您需要转到https:\ code.google.com/apis/console
回到项目
返回项目
转到AndroidManifest.xml
将这些权限添加到您的清单:
确保不使用com.example.androidmapsv2,而是匹配您自己的包名称
<permission
android:name="com.example.androidmapsv2.permission.MAPS_RECEIVE"
android:protectionLevel="signature"></permission>
<uses-permission
android:name="com.example.androidmapsv2.permission.MAPS_RECEIVE"/>
<uses-permission
android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<uses-permission
android:name="android.permission.INTERNET"/>
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission
android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission
android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-feature
android:glEsVersion="0x00020000"
android:required="true"/>
在<application >
标记下,在其下添加:
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="PASTE YOUR SHA1 CERTIFICATE KEY HERE"/>
它很多,我意识到,但这就是我使用地图的方式
答案 1 :(得分:1)
试试这个答案:
The import com.google.android.gms cannot be resolved
使用Google Play jar制作图书馆项目(在上面的答案中,它使用maps.jar)。我使用的是与@Vnge的回复中使用的相同的罐子,即&lt; android sdk文件夹&gt; / extras / google / google_play_services / libproject / google-play-services_lib
在该库项目位于工作区之后,请从当前项目中引用该项目,即出错。我的答案中的链接提供了这样做的方法。 @Alex也在链接中回答。
答案 2 :(得分:0)
@axmug。您需要使用Android SDK Manager添加Google Maps API。
希望这有帮助!
答案 3 :(得分:0)
在项目属性中 - Android检查库google-play-services_lib.jar是否具有正确的路径。