Sur*_*raj 20 android google-maps android-maps-v2
地图活动不显示地图,它显示为带有缩放控制按钮的白色屏幕.清单文件如下:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.demomap"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<permission
android:name="com.example.demomap.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
<uses-permission android:name="com.example.demomap.permission.MAPS_RECEIVE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.demomap.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="AIzaSyCTQZOcXFS3RpNSVe79HHN1xojat-2MbT4" />
</application>
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
</manifest>
Run Code Online (Sandbox Code Playgroud)
我的XmL文件像这样:
<?xml version="1.0" encoding="utf-8"?>
<fragment
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.google.android.gms.maps.SupportMapFragment" />
Run Code Online (Sandbox Code Playgroud)
Log Cat错误:
05-15 17:15:16.255: E/Google Maps Android API(26201): Failed to load map. Error contacting Google servers. This is probably an authentication issue (but could be due to network errors).
Run Code Online (Sandbox Code Playgroud)
请帮我.
Ng *_*Qin 17
我使用MapView遇到了这个问题
fragment_map.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.gms.maps.MapView
android:id="@+id/mapview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
Run Code Online (Sandbox Code Playgroud)
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
String message = getArguments().getString(EXTRA_MESSAGE);
v = inflater.inflate(R.layout.map_f, container, false);
vh = new ViewHolder();
assetHandler = new AssetHandler(getActivity());
vh.mapView=assetHandler.mapViewHandler.set(v,R.id.mapview);
vh.mapView.onCreate(savedInstanceState);
vh.mapView.getMapAsync(new OnMapReadyCallback() {
@Override
public void onMapReady(GoogleMap googleMap) {
googleMap.getUiSettings().setMyLocationButtonEnabled(true);
googleMap.setMyLocationEnabled(true);
// Needs to call MapsInitializer before doing any CameraUpdateFactory calls
try {
MapsInitializer.initialize(getActivity());
} catch (Exception e) {
e.printStackTrace();
}
}
});
return v;
}
@Override
public void onResume() {
super.onResume();
vh.mapView.onResume();
}
@Override
public void onPause() {
vh.mapView.onPause();
super.onPause();
}
@Override
public void onDestroy() {
vh.mapView.onDestroy();
super.onDestroy();
}
@Override
public void onLowMemory() {
super.onLowMemory();
vh.mapView.onLowMemory();
}
Run Code Online (Sandbox Code Playgroud)
我注意到如果没有实现LifeCycle方法,你也将无法看到地图.希望这对某些人有希望.
很多时候问题来自于不在清单中的权限中添加Google服务支持:
检查清单中是否存在此权限:
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
Run Code Online (Sandbox Code Playgroud)
我更改了包名并更新了控制台.我有一切正确(清单中正确的SHA1密钥,包名称和API密钥)但仍然得到相同的错误消息.
我不得不卸载应用程序并重新启动手机以解决问题.似乎有些东西被缓存了.
归档时间: |
|
查看次数: |
42684 次 |
最近记录: |