2016-09-06 16 views
0

フラグメントにMapViewを表示したい。地図は私が期待した通りに表示されていますが、写真としてしか表示されていないようです。ドラッグしてカメラを動かしたり、ズームしたり広げたりすることはできません。私はまた、私のフラグメントでSupportMapFragmentを使用しようとしましたが、同じ結果を得ました。初期化後のフラグメントフリーズ(クリック不可またはドラッグ不可)のAndroid MapView

私は自分のアクティビティにNavigationViewを持っています。 NavigationViewとMapViewのタッチイベントに矛盾があるとは思わない。

誰もがこれまでに会いましたか?

フラグメント

public class CustomizedMapFragment extends Fragment implements OnMapReadyCallback{ 
    MapView mapView; 
    GoogleMap googleMap; 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     View rootView = inflater.inflate(R.layout.fragment_map, container, false); 

     mapView = (MapView) rootView.findViewById(R.id.mapView); 
     mapView.onCreate(savedInstanceState); 
     mapView.getMapAsync(this); 
     return rootView; 
    } 

    @Override 
    public void onMapReady(GoogleMap googleMap) { 
     this.googleMap = googleMap; 
     this.googleMap.getUiSettings().setZoomControlsEnabled(true); 
     this.googleMap.getUiSettings().setZoomGesturesEnabled(true); 
    } 

    @Override 
    public void onResume() { 
     super.onResume(); 
     mapView.onResume(); 
    } 

    @Override 
    public void onPause() { 
     super.onPause(); 
     mapView.onPause(); 
    } 

    @Override 
    public void onDestroy() { 
     super.onDestroy(); 
     mapView.onDestroy(); 
    } 

    @Override 
    public void onLowMemory() { 
     super.onLowMemory(); 
     mapView.onLowMemory(); 
    } 
} 

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

    <com.google.android.gms.maps.MapView 
     android:layout_margin="16dp" 
     android:id="@+id/mapView" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"/> 

</RelativeLayout> 
+0

ここで答えを見てください:http://stackoverflow.com/questions/5758081/mapview-works-incorrect –

+0

@DanielNugent私はtrueにクリック可能に設定しようとしましたが、動作しません。 – DemonPilot

+0

Didあなたは 'OnMapClickListener'を実装していますか? –

答えて

0

レイアウトは、あなたが自分の指で地図をドラッグすることで、マップの周り(パン)をスクロールすることができ、これを使用することによって、このUiSettings.setScrollGesturesEnabled(boolean)を使用してみてください。

もう1つの方法は、マップがXML属性を使用して作成された場合にこれらのオプションを設定することです。

<fragment xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:map="http://schemas.android.com/apk/res-auto" 
    android:name="com.google.android.gms.maps.SupportMapFragment" 
    android:id="@+id/map" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    map:cameraBearing="112.5" 
    map:cameraTargetLat="-33.796923" 
    map:cameraTargetLng="150.922433" 
    map:cameraTilt="30" 
    map:cameraZoom="13" 
    map:mapType="normal" 
    map:uiCompass="false" 
    map:uiRotateGestures="true" 
    map:uiScrollGestures="false" 
    map:uiTiltGestures="true" 
    map:uiZoomControls="false" 
    map:uiZoomGestures="true"/> 

ただし、XMLレイアウトファイルでこれらのカスタム属性を使用するには、まず次の名前空間宣言を追加する必要があります。

xmlns:map="http://schemas.android.com/apk/res-auto" 

詳細については、documentationをチェックしてください。

関連する問題