目前我正在使用谷歌地图并创建我遵循Android开发者网站中的所有说明。但我无法在我的设备中加载地图,但我可以指出各种各样的地方。我的设备会支持Google API V2吗?有没有办法在我的设备上查看地图?我的设备版本是2.3.3。
答案 0 :(得分:1)
我有一个有效的GoogleMaps v2应用程序,最初我遇到了您描述的相同问题。 在我的情况下的问题是我使用的API密钥与我用于签署应用程序的证书(调试/ dev用于开发阶段和Play发布应用程序的发布)不匹配。 该应用程序正在处理从10开始的所有Android版本(因此它适用于2.3.3)。 从日志错误来看,您可能遇到连接问题。您是否声明了相应的使用权限?它应该是:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
以下是主地图代码的简短摘录:
public class LocationActivity extends MapActivity {
private MapController mapController;
private MapView mapView;
private LocationManager locationManager;
private MyLocationOverlay myLocationOverlay;
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
if(Utils.isRelease(getApplicationContext())) {
setContentView(R.layout.location_activity_release); // bind the layout to the activity
} else {
setContentView(R.layout.location_activity); // bind the layout to the activity
}
// Configure the Map
mapView = (MapView) findViewById(R.id.mapview);
mapView.setBuiltInZoomControls(true);
mapView.setSatellite(false);
mapController = mapView.getController();
mapController.setZoom(15); // Zoon 1 is world view
myLocationOverlay = new MyLocationOverlay(this, mapView);
mapView.getOverlays().add(myLocationOverlay);
// More map configurations follow...
布局(注意地图API密钥的不同之处): location_activity.xml
<?xml version="1.0" encoding="utf-8"?>
<com.google.android.maps.MapView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mapview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:apiKey="@string/google_maps_v1_api_key"
android:clickable="true" />
和(location_activity_release.xml):
<?xml version="1.0" encoding="utf-8"?>
<com.google.android.maps.MapView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mapview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:apiKey="@string/google_maps_v1_api_key_release"
android:clickable="true" />