android - Google Maps Android API v2 仅适用于一部手机

标签 android android-maps-v2 supportmapfragment

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

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

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

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

我的API key 是从调试 key 中获取的,并已验证正确,因为它在我的手机上运行完美。

我不确定究竟是什么导致了这种情况,因此我不确定我可以在此处发布哪些代码来寻求帮助。与此同时,我将发布我的 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;
    } 
}

最佳答案

要使用 map ,您需要来自谷歌的 map api key ,通过提供您用于生成 apk 的 keystore 证书的指纹(在开发环境的情况下为 debuge.keystore)。 获得特定证书的 map api key 后,您必须使用相同的证书 debuge.keystore) 生成 apk 文件以在所有设备上成功运行应用程序,否则它将显示带有灰色方 block 的空白 map 。

  • 如果您和您的 friend 从不同的机器/pc 生成 apk,则必须使用相同的调试证书来生成 apk 文件

关于android - Google Maps Android API v2 仅适用于一部手机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14556995/

相关文章:

android - 当按钮在列表中时,ListView 长按不起作用

android - 将 SupportMapFragment 放在 DialogFragment 上

android - ViewPager NullPointer 中的 MapFragment : 'void maps.ad.y.v()' on a null object reference

Android MapFragment,无法在 map 上绘制并且无法恢复以前的 map 状态

android - AdMob 无填充 - 无法实例化中介适配器 : com. google.DummyAdapter

android - 有什么方法可以同步我的 avd 的时钟

android-maps-v2 - map v2 我的位置图层样式

Android绘制折线图V2

java - 使用 Sherlock ActionBar、Fragment Tab、ViewPager、PreferenceActivity

android - 避免标记(Google Maps for Android API V2)在点击时以 map 为中心