【发布时间】:2023-03-03 08:22:24
【问题描述】:
我正在尝试在我的应用程序中使用华为 HMS 地图套件,我是整体地图的新手(无论是来自谷歌还是华为),我遵循了文档中的教程和华为提供的代码实验室并将我的代码放在一起,但是当我运行地图活动时,什么也没有出现,我得到的只是一个空白活动,我在整个代码中编写了一些日志语句,并且只有其中一个被记录在最顶部创建方法。应用也不会崩溃。
这是我的代码,它可能有什么问题?
public class MapActivity extends AppCompatActivity implements OnMapReadyCallback {
private HuaweiMap hMap;
private MapView mMapView;
private static final String MAPVIEW_BUNDLE_KEY = "MapViewBundleKey";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_map);
Log.i("TAG", "onCreate");
//get mapview instance
mMapView = findViewById(R.id.mapView);
Bundle mapViewBundle = null;
if (savedInstanceState != null) {
mapViewBundle = savedInstanceState.getBundle(MAPVIEW_BUNDLE_KEY);
}
MapsInitializer.setApiKey(android.net.Uri.encode("my api key here"));
mMapView.onCreate(mapViewBundle);
//get map instance
mMapView.getMapAsync(this);
}
@Override
public void onMapReady(HuaweiMap map) {
//get map instance in a callback method
Log.d("TAG", "onMapReady: ");
hMap = map;
}
@Override
protected void onStart() {
super.onStart();
mMapView.onStart();
}
@Override
protected void onStop() {
super.onStop();
mMapView.onStop();
}
@Override
protected void onDestroy() {
super.onDestroy();
mMapView.onDestroy();
}
@Override
protected void onPause() {
mMapView.onPause();
super.onPause();
}
@Override
protected void onResume() {
super.onResume();
mMapView.onResume();
}
private static boolean hasPermissions(Context context, String... permissions) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && permissions != null) {
for (String permission : permissions) {
if (ActivityCompat.checkSelfPermission(context, permission) != PackageManager.PERMISSION_GRANTED) {
return false;
}
}
}
return true;
}
}
在代码之外,我已经确定了我的华为应用程序库连接配置、api 密钥和所有,以及 gradle 中所需的依赖项
我检查了我的 minSDK 并确保它也是 19。 仍然..没有任何工作
请帮帮我
谢谢
【问题讨论】:
-
希望 this 有所帮助。
-
谢谢,但我也按照这里的步骤操作,但仍然遇到同样的问题
-
Map Kit支持的设备是华为手机。你的安卓手机是什么?
-
@M.KH G+H 解决方案可用于集成。这样谷歌手机上可以使用谷歌地图,华为手机上可以使用华为地图。
-
@M.KH 也许这可以帮助github.com/franalma/MapsWrapper 轻松整合两个地图。使用此库中的地图 API 自动选择 Google 或华为地图并相应显示。检查示例应用程序以获取详细信息。希望对您有所帮助。
标签: android huawei-mobile-services