我试图用MapView显示一个位置,但我不能让它工作。我已经研究了所有其他线程与相同的问题,但解决方案不为我工作。
以下是应该起作用但没有起作用的方法:
public void displayMap(){
final MapView mapView = findViewById(R.id.locationMapView);
mapView.getMapAsync(new OnMapReadyCallback() {
@Override
public void onMapReady(GoogleMap googleMap) {
LatLng coordinates = new LatLng(14.0583, 108.2772); //for testing
googleMap.addMarker(new MarkerOptions().position(coordinates).title("Test"));
googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(coordinates, 15));
}
});
}
我是Android Studio的新手,只是在尝试一些东西。我也已经试着理解了参考/文档,但它并没有那么有帮助,因为我真的不知道从哪里开始。
如果有人能给我解释一下这个错误,我会非常感激的。当然,如果我错过了你需要的重要信息,我会帮你找回来的。
编辑1:
这是logcat
https://pastebin.com/qMKzsQQS
4条答案
按热度按时间cgyqldqp1#
您的API密钥未启用,visit this site了解如何获取API密钥
5t7ly7z52#
欢迎来到本站!
我认为可能的陷阱是,你需要在你的Fragment/Activity中调用
mapView.onResume(bundle)
,mapView.onPause()
等:您可以在MapView's documentation中阅读相关信息。
另外,请查看日志。您可以看到一些警告,从谷歌MapSDK有关错误的API密钥,或相关的。
thigvfpy3#
我不再尝试将其实现为MapView,而是切换到MapActivity。实现它似乎要容易得多,只需在Android Studio中创建"new-〉Google-〉Map Activity"即可
我认为我的方法的问题是,我不知道在哪里把api键。虽然它没有thow一个关于这个错误...
编辑:
下面是我如何让它工作的解决方案/示例:
我不会包含xml代码,因为它只是一个名为"map"的fill_parent mapView。
我把API密钥放在AndroidManifest.xml中,如下所示:
我想就是这样。谢谢你的帮助和提示!
mlmc2os54#
你需要有可用的谷歌Mapsdk android。去链接并激活它。https://console.developers.google.com/apis/library/maps-android-backend.googleapis.com/