选项卡式活动中的地图片段未显示标记?

时间:2017-07-12 14:59:37

标签: android maps tabactivity

使用android studio和google地图中的通用标签式活动。地图出现但没有标记。我不知道如何解决这个问题,希望这是可以理解的。 引用标签:

else if (getArguments().getInt(ARG_SECTION_NUMBER)==2){
            View rootView = inflater.inflate(R.layout.fragment_sub_page2, container, false);

            return rootView;
        }

片段标签

public class SubPage2 extends Fragment implements OnMapReadyCallback {
public GoogleMap mMap;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
Bundle savedInstanceState) {
    return inflater.inflate(R.layout.fragment_sub_page2, container,false);
}

@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);

    android.app.FragmentManager fragment = getActivity().getFragmentManager();
    final MapFragment myMapFragment = (MapFragment) fragment.findFragmentById(R.id.map);
    myMapFragment.getMapAsync(this);

}

@Override
public void onMapReady(GoogleMap googleMap) {
 mMap=googleMap;
      LatLng marker = new LatLng(-33.867, 151.206);

   mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(marker, 13));

    mMap.addMarker(new MarkerOptions().title("Hello Google Maps!").position(marker));
}

子网页2布局

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 xmlns:tools="http://schemas.android.com/tools">

 <fragment android:id="@+id/map"
android:layout_width="wrap_content"
android:layout_height="match_parent"
class="com.google.android.gms.maps.MapFragment"

>

</fragment>

 </FrameLayout>

如果其他人遇到同样的问题,解决方案是在调用语句中添加几行 - &gt;

   else if (getArguments().getInt(ARG_SECTION_NUMBER)==2){
            View rootView = inflater.inflate(R.layout.fragment_sub_page2, container, false);
            FragmentManager manager = getActivity().getSupportFragmentManager();
            FragmentTransaction transaction = manager.beginTransaction();
            transaction.replace(R.id.map, new SubPage2()).commit();
            return rootView;

1 个答案:

答案 0 :(得分:0)

您的代码看起来不错。只是预感,你检查过以确保你已经尝试了一系列缩放级别来确定文本是否太小而无法看到?

您可以使用mMap.getUiSettings().setZoomControlsEnabled(true);启用缩放控件。

Title可能只有在获得焦点(即已点击)后才能控制为该标记显示的文字。为了消除上传空标记的可能性,您是否可以尝试提供BitmapDescriptor

BitmapDescriptor示例

// Allocate the MarkerBitmap.
final BitmapDescriptor lMarkerBitmap = BitmapDescriptorFactory.fromResource(R.drawable.my_marker_image);
// Add the Marker.
mMap.addMarker(new MarkerOptions().alpha(1.0f)
                                  .position(marker)
                                  .title("Hello Google Maps!")
                                  .icon(lMarkerBitmap));