Android Google地图活动仅显示小十字架

时间:2011-01-07 15:53:49

标签: android google-maps

我目前有一个谷歌地图活动显然运作良好,但没有显示地图(这听起来很愚蠢!)

这张图片可以让您更好地理解我的问题: alt text

我已经确认了我的apiKey,一遍又一遍地检查了教程,甚至清单似乎都没有遗漏任何内容。

我在adb上只得到这个:

  

276 MapActivity W回收调度员   com.google.googlenav.datarequest.DataRequestDispatcher@43ea39b0

     

276 MapActivity V回收地图对象。

     

51 GpsLocationProvider D setMinTime 1000

     

276 MapActivity I处理网络变更通知:已连接

     

276 MapActivity E无法获得连接工厂客户端

有没有人知道可能导致这种情况的原因?

感谢。

5 个答案:

答案 0 :(得分:2)

您是否正在运行使用密钥存储区中的密钥签名的应用程序,或者调试密钥(在eclipse中单击运行将使用调试密钥对apk进行签名并将其安装在设备上 - 无论是模拟器还是物理设备)

如果你有一个地图密钥(apikey),密钥库将有两个不同的哈希码,具体取决于你使用的是调试密钥还是你的密钥 - 所以你需要两个不同的地图密钥,具体取决于你运行应用程序的方式(只有在开发应用程序时才需要调试)。

查看调试部分:http://code.google.com/android/add-ons/google-apis/mapkey.html#getdebugfingerprint

答案 1 :(得分:2)

如果您使用的是setSatellite(boolean)setStreetView(boolean),那么您可能会遇到这种情况。这是地图视图中的BUG。只使用这两种方法中的一种,或者您可以尝试这两种方法的某些组合。有时候,只使用其中一个解决问题,你需要使用两者的组合...就像我在特定情况下所做的那样..

streetView.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View view) {
        mapView.invalidate();
        mapView.setSatellite(false);
        //mapView.setStreetView(true);              
        SharedPreferences.Editor editor = preferences.edit();
        editor.putBoolean("satelliteView", false);
    }
});

satelliteView.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View view) {
        mapView.invalidate();
        mapView.setStreetView(false);
        mapView.setSatellite(true);
    }
});

答案 2 :(得分:0)

您确定正在为MapActivity / View正确设置API密钥吗?你可以发布你的布局xml和源代码吗?

请务必按照本教程中的步骤进行操作:http://code.google.com/android/add-ons/google-apis/maps-overview.html

答案 3 :(得分:0)

它还会显示一个类似的地图,如果你发送一个假的纬度/经度对,那里没有有用的地图数据,例如。 “geo fix 0.0 0.0”(北极)

尝试使用Google地图数据的“geo fix -0.1 51.5”(伦敦南部)。

答案 4 :(得分:0)

问题在于坐标错误,地图变得如此放大,以至于无法显示任何内容。

我缩小了,我有地图;所以这是一个坐标问题而不是键/地图活动问题。

对于那些无法在这些情况下缩小的人,请将其添加到您的代码中

mapView.setBuiltInZoomControls(true);

并在布局中

android:clickable="true"