我将Google地图添加到片段中 像这样使用MapView:
public HotspotPageFragment() {
// Required empty public constructor
}
private void initGoogleMap(Bundle savedInstanceState) {
mapView = (MapView) parentView.findViewById(R.id.mapView_hotspot);
mapView.onCreate(savedInstanceState);
mapView.onResume();
mapView.getMapAsync(this);
try {
MapsInitializer.initialize(context);
} catch (Exception e) {
e.printStackTrace();
}
}
这似乎适用于添加谷歌地图。
但现在我收到有关授权失败
的错误消息E/Google Maps Android API: Authorization failure.
Please see https://developers.google.com/maps/documentation/android-api/start for how to correctly set up the map.
E/Google Maps Android API: In the Google Developer Console (https://console.developers.google.com)
Ensure that the "Google Maps Android API v2" is enabled.
Ensure that the following Android Key exists:
API Key: AIzaSyAMQNk********kCx8p-uz8******1t75s
Android Application (<cert_fingerprint>;<package_name>): 5A:A1:E4:**:07:BF:E2:**:A3:F0:B6:**:04:4E:0A:**:2A:B6:B4:6B;com.example.androidwork.foodsharing
我检查过API密钥是否正确... 我不知道如何解决它:(
这是我的清单看起来像:
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <!-- Google map -->
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:supportsRtl="true"
android:theme="@style/AppTheme.NoActionBar">
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="@string/google_maps_key" />
...
这是结果
感谢。
这表明我已启用它了吗?
答案 0 :(得分:0)
在google api控制台中查看api启用与否的位置。
答案 1 :(得分:0)
尝试以下
1-检查您是否已启用Maps API v2
2-检查您的SHA-1指纹
3-如果您还没有完成,请将api限制为您的包名
答案 2 :(得分:0)
CREAT SHA1 KEY AND PASTE API CONSOLE see this
答案 3 :(得分:0)
在手机上更新googleplayservices 并检查这些是否在gradle中:
依赖项{
compile 'com.google.android.gms:play-services-ads:9.4.0'
compile 'com.google.android.gms:play-services-auth:9.4.0'
compile 'com.google.android.gms:play-services-gcm:9.4.0'
}
答案 4 :(得分:0)
首先在菜单中的凭证项下进入谷歌控制台,并为android map api创建一个凭证密钥(如果不存在),它会告诉你它需要一些时间才能启用,并且在你的依赖项中你只需要要做的是添加谷歌播放服务,除谷歌客户端和身份验证之外,它将处理谷歌的所有事情,然后在你的应用程序中尝试此代码
public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {
private GoogleMap mMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
}
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
LatLng latlang= new LatLng("latitude", "longitude");
mMap.addMarker(new MarkerOptions().position(latlang).title("Marker in latlang"));
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latlang, 18));
mMap.setTrafficEnabled(true);
}