2016-07-28 5 views
-1

Google지도를 탭 레이아웃으로 표시하려합니다.
그래서 기본 활동에 viewPager를 만들고지도의 조각을 아래에 추가했습니다.
하지만 비어있는 상태로 표시됩니다.Android : MapView가 비어 있지 않음

모든 재정의 된 함수가 예상대로 호출되고 있습니다.
정확히지도가 나타나지 않는 원인을 정확히 이해할 수 없습니다.

아래는

fragment_map.xml 내 코드입니다

<?xml version="1.0" encoding="utf-8"?> 
<com.google.android.gms.maps.MapView 
    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:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:apiKey="@string/google_maps_key" 

    android:id="@+id/mapView" > 

</com.google.android.gms.maps.MapView> 

MapFragment.java

import android.os.Bundle; 
    import android.support.v4.app.Fragment; 
    import android.view.LayoutInflater; 
    import android.view.View; 
    import android.view.ViewGroup; 

    import com.google.android.gms.maps.CameraUpdateFactory; 
    import com.google.android.gms.maps.GoogleMap; 
    import com.google.android.gms.maps.MapView; 
    import com.google.android.gms.maps.OnMapReadyCallback; 
    import com.google.android.gms.maps.model.LatLng; 
    import com.google.android.gms.maps.model.MarkerOptions; 
    import com.i2e1.iconnect.R; 

    import java.util.ArrayList; 
    import java.util.List; 

    public class MapFragment extends Fragment implements OnMapReadyCallback { 

     MapView m; 
     GoogleMap googleMap; 
     private List<MarkerOptions> markers; 

     public MapFragment() { 
      // Required empty public constructor 
     } 

     @Override 
     public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
     } 

     @Override 
     public View onCreateView(LayoutInflater inflater, ViewGroup container, 
           Bundle savedInstanceState) { 
      View v = inflater.inflate(R.layout.fragment_map, container, false); 
      m = (MapView) v.findViewById(R.id.mapView); 
      m.getMapAsync(this); 
      m.onCreate(savedInstanceState); 
      return v; 
     } 

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

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

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

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

     @Override 
     public void onMapReady(GoogleMap googleMap) { 
      this.googleMap = googleMap; 
      for (MarkerOptions m : markers) { 
       googleMap.addMarker(new MarkerOptions() 
         .position(m.getPosition()) 
         .title(m.getTitle())); 
      } 
      googleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(markers.get(0).getPosition(), 15), 5000, null); 
      m.onResume(); 
     } 
} 

답변

0

여기 내 코드입니다. 나는 그것을 시도하고 잘 작동합니다. Try like this

+0

어쩌면지도 API 키가 잘못되었을 수도 있습니다. – faranjit

+0

고마워 ...하지만 문제는 간단했다. 내 대답을 확인해보십시오. – Sahu

0

미안 얘들 아

을 그것은 간단한 문제였다. 난 그냥 테스트 장치를 공장 재설정하고 애플 리케이션을 실행하기 전에 와이파이/모바일 데이터에 연결되지 않았어.

Wi-Fi에 연결 한 직후 문제가 해결되었습니다.

관련 문제