谷歌地图表示genymotion空白(google map showing blank in gen

2019-11-02 12:26发布

我使用谷歌Nexus 4.2.2 - 与谷歌Genymotion API。 谷歌地图片段快到了空。 我已经使用API​​注册,并提供清单文件的关键。 谢谢你的帮助。

布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MapsTestActivity" >

    <fragment
       android:id="@+id/map"
        android:name="com.google.android.gms.maps.MapFragment"
        android:layout_width="match_parent"
        android:layout_height="0dp"/>

</RelativeLayout>

活动:

package com.chaseit.activities;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;

import com.chaseit.R;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.MapFragment;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.Marker;
import com.google.android.gms.maps.model.MarkerOptions;

public class MapsTestActivity extends Activity {

    static final LatLng HAMBURG = new LatLng(53.558, 9.927);
    static final LatLng KIEL = new LatLng(53.551, 9.993);
    private GoogleMap map;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_maps_test);
        // setupMap();
    }

    @Override
    protected void onResume() {
        // TODO Auto-generated method stub
        setupMap();
        super.onResume();
    }

    private void setupMap() {

        GoogleMap map = ((MapFragment) getFragmentManager().findFragmentById(
                R.id.map)).getMap();

        Marker hamburg = map.addMarker(new MarkerOptions().position(HAMBURG)
                .title("Hamburg"));
        Marker kiel = map.addMarker(new MarkerOptions()
                .position(KIEL)
                .title("Kiel")
                .snippet("Kiel is cool")
                .icon(BitmapDescriptorFactory
                        .fromResource(R.drawable.ic_launcher)));

        // Move the camera instantly to hamburg with a zoom of 15.
        map.moveCamera(CameraUpdateFactory.newLatLngZoom(HAMBURG, 15));

        // Zoom in, animating the camera.
        map.animateCamera(CameraUpdateFactory.zoomTo(10), 2000, null);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.maps_test, menu);
        return true;
    }

}

我的示例代码从http://www.vogella.com/articles/AndroidGoogleMaps/article.html

Answer 1:

序在我们的Android应用使用谷歌地图V2,必须使用谷歌播放服务库。 如果上下文传递给检查服务是否可用该设备本库才有效。 加入这一行你的OnCreate

GooglePlayServicesUtil.isGooglePlayServicesAvailable(getApplicationContext());

评论我对结果



Answer 2:

检查输出日志,在地图上搜索,看是否警告通知书上来。 就我而言,我发现:

09:03:34.197 E/Google Maps Android API( 7012): Authorization failure.  Please see https://developers.google.com/maps/documentation/android-api/start for how to correctly set up the map.
03-22 09:03:34.198 E/Google Maps Android API( 7012): In the Google Developer Console (https://console.developers.google.com)
03-22 09:03:34.198 E/Google Maps Android API( 7012): Ensure that the "Google Maps Android API v2" is enabled.
03-22 09:03:34.198 E/Google Maps Android API( 7012): Ensure that the following Android Key exists:

以下仔细检查:

  • 那你给你的应用程序的正确SHA1指纹在谷歌开发者控制台(对于我来说,这在某种程度上改变)
  • 那你给正确的包名
  • 这包括你自己API中的清单文件密钥(显而易见的,是的,我知道)
  • 这适当的权限也被设置在明显ACCESS_COARSE_LOCATION ACCESS_FINE_LOCATION ACCESS_LOCATION_EXTRA_COMMANDS ACCESS_MOCK_LOCATION

  • 如果使用模拟器,确保谷歌播放服务(含地图)安装。

更详细的路线可以发现在这里 。



Answer 3:

就我而言,我没有找到一个解决方案,当打开和导航地图什么也不做地图是空白的,但我有一个PlaceAutocompleteFragment ,当我用它来寻找一个地方,我将地图移动到那个地方,它工作原理,地图上现在显示,你可以浏览它。 你不必使用PlaceAutocompleteFragment你可以得到解决该问题通过摄像机移动到一个地方,你希望在地图加载,然后从那里导航,这可以通过添加这对做onMapReady()函数:

LatLng latLng = new LatLng(15.501501,32.4325101) ;// change to the value you want
float zoom = 15.0f;
mapfragment.getMap().moveCamera(CameraUpdateFactory.newLatLngZoom(latLng, zoom));


文章来源: google map showing blank in genymotion