嗨,我对谷歌地图有问题,它仅适用于模拟器,而不适用于真实设备。
这是我google_map_api.xml:
<resources>
<string name="google_maps_key" templateMergeStrategy="preserve" translatable="false">AIza...</string
和我的清单:
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="AIza..." />
和我的班级:
public class MapsActivity extends Fragment implements OnMapReadyCallback {
private GoogleMap mMap;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.activity_maps, container, false);
final SupportMapFragment map = (SupportMapFragment) getChildFragmentManager().findFragmentById(R.id.map);
map.getMapAsync(this);
return rootView;
}
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
try {
boolean success = googleMap.setMapStyle(
MapStyleOptions.loadRawResourceStyle(
this.getActivity(), R.raw.mapstyle));
} catch (Resources.NotFoundException e) {
}
return true;
}
});
}
}
请打印您的日志,但在此之前请检查您是否在线
您的google_maps_key必须使用用于生成安装在设备中的apk的发布证书(SHA-1(进行注册
看这里
更改 Google Maps API 密钥并检查真实设备中的互联网是否正常工作,设备 minSdkVersion 为 21 及更高版本。