1

我正在与我的团队合作,让 Google 地图使用他们的 Android API v2 显示。

我设法在我自己的手机上获取代码并进行测试,它运行良好......但是当代码在我队友的手机上运行时,他们的屏幕是灰色的,他们有这个:

E/Google Maps Android API(30514): Authorization failure.

奇怪的是,这个错误不会 100% 出现在他们的 logcat 中,有时他们只是得到灰屏而没有任何错误。顺便说一句,我们的代码与 SVN 同步,因此它们肯定会更新。

我的API 密钥是从调试密钥中获得的,并且已经验证是正确的,因为它可以在我的手机上完美运行。

我不确定究竟是什么导致了这种情况,因此我不确定我可以在此处发布哪些代码以寻求帮助。与此同时,我将发布我的 MapFragment 类代码,并希望它能为某人提供帮助。

如果还有什么我可以在这里发布以寻求答案,请告诉我,我会尽快发布。谢谢!

public class POnlineMapViewFragment extends SherlockMapFragment {

    private GoogleMap mMap;
    private double latitude;
    private double longitude;
    private String placeName;
    static Bundle bundle;
    private LatLng point;
    View v;

    @Override
    public void onCreate(Bundle savedInstanceState) {    
        super.onCreate(savedInstanceState);
        bundle = getArguments();
        if(bundle != null) {
        this.latitude = getArguments().getDouble("latitude");
        this.longitude = getArguments().getDouble("longitude");
        this.placeName = getArguments().getString("placeName");
        this.point = new LatLng(latitude,longitude);
        }
    }

    @Override
    public View onCreateView(LayoutInflater inflator, ViewGroup container, Bundle savedInstanceState) {
        View v = super.onCreateView(inflator, container, savedInstanceState);
        mMap = getMap();

        CameraUpdate center= CameraUpdateFactory.newLatLng(point);
        CameraUpdate zoom=CameraUpdateFactory.zoomTo(17);
        mMap.addMarker(new MarkerOptions().position(point).title(placeName).icon(BitmapDescriptorFactory.fromResource(R.drawable.gps_small)));


        mMap.moveCamera(center);
        mMap.animateCamera(zoom);

        return v;     

    }

    public static POnlineMapViewFragment newInstance(Bundle b) {
        POnlineMapViewFragment mapfrag = new POnlineMapViewFragment();
        mapfrag.setArguments(b);
        return mapfrag;
    } 
}
4

2 回答 2

2

要使用地图,您需要谷歌的地图 api 密钥,通过提供用于生成 apk 的密钥库证书的指纹(在开发环境中为 debuge.keystore)。一旦您获得特定证书的地图 api 密钥,您必须使用相同的证书 debuge.keystore) 来生成 apk 文件以在所有设备上成功运行应用程序,否则它将显示带有灰色正方形的空白地图。

  • 如果您和您的朋友从不同的机器/PC 生成 apk,那么您必须使用相同的调试证书来生成 apk 文件
于 2013-01-28T07:18:28.380 回答
0

我遇到了同样的问题,解决方案是将我朋友的 debug.keystore 文件替换为我 PC 上的本地 debug.keystore 文件,因为密钥是使用我的 debug.keystore 文件生成的。

于 2015-03-10T08:20:49.973 回答