Google maps API v2无法在设备上运行

时间:2013-07-23 07:25:19

标签: android google-maps

目前我正在使用谷歌地图并创建我遵循Android开发者网站中的所有说明。但我无法在我的设备中加载地图,但我可以指出各种各样的地方。我的设备会支持Google API V2吗?有没有办法在我的设备上查看地图?我的设备版本是2.3.3。

1 个答案:

答案 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" />