如何解决谷歌地图未显示在底部导航中,Andriod studio (java) 中的活动
左下角有GOOGLE图标,但地图不显示。
(1)strings.xml
(我在里面写了 api)
这个api可以用,我在其他项目也用了同一套api,但是这里加了就显示不出来了。
<resources>
<string name="app_name">HIKING</string>
<string name="map_key" translatable="false">AIza.....</string>
(2) AndroidManifest.xml
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<Meta-data
android:name="com.google.android.geo.API_KEY"
android:value="@string/map_key" />
(3)activity_main.xml (使用RelativeLayout)
//navigation
<com.google.android.material.bottomnavigation.BottomNavigationView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/bottom_navigation"
app:itemBackground="@color/colorPrimary"
app:itemTextColor="@drawable/selector"
app:itemIconTint="@drawable/selector"
app:menu="@menu/menu_navigation"
android:layout_alignParentBottom="true" />
这是关于地图。
<fragment
android:layout_width="match_parent"
android:layout_height="600dp"
android:layout_marginTop="60dp"
android:id="@+id/google_map"
android:name="com.google.android.gms.maps.SupportMapFragment"/>
(4)MainActivity.java
public class MainActivity extends FragmentActivity implements OnMapReadyCallback {
GoogleMap googleMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.google_map);
mapFragment.getMapAsync(this);
//navigation
BottomNavigationView bottomNavigationView = findViewById(R.id.bottom_navigation);
bottomNavigationView.setSelectedItemId(R.id.map);
bottomNavigationView.setonNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
switch (menuItem.getItemId()){
case R.id.map:
return true;
case R.id.mountains:
startActivity(new Intent(getApplicationContext(),Mountain.class));
overridePendingTransition(0,0);
return true;
case R.id.watch:
startActivity(new Intent(getApplicationContext(),Watch.class));
overridePendingTransition(0,0);
return true;
case R.id.account:
startActivity(new Intent(getApplicationContext(),Account.class));
overridePendingTransition(0,0);
return true;
}
return false;
}
});
}
以及更多代码。
@Override
public void onMapReady(GoogleMap Map) {
googleMap = Map;
googleMap.setonMapClickListener(new GoogleMap.OnMapClickListener() {
@Override
public void onMapClick(LatLng latLng) {
MarkerOptions markerOptions = new MarkerOptions();
markerOptions.position(latLng);
//set latitude and longitudue on marker
markerOptions.title(latLng.latitude+" : "+latLng.longitude);
googleMap.clear();
//zoom on marker
googleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(latLng,10));
//add marker on map
googleMap.addMarker(markerOptions);
}
});
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。