2013-07-22 2 views
0

Я использую GoogleMap V2 и у меня есть GridView и MAPview подобное:Пустой экран при зумирования в MAPview

<?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" > 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" 
     android:weightSum="1" > 

     <com.google.android.gms.maps.MapView 
      android:id="@+id/map_view" 
      android:layout_width="match_parent" 
      android:layout_height="0dp"    
      android:layout_weight="0.5" /> 

     <GridView 
      android:id="@+id/gv_all_pubs" 
      android:layout_width="match_parent" 
      android:layout_height="0dp" 
      android:layout_weight="0.5" 
      android:background="@color/BurlyWood" 
      android:columnWidth="300dp" 
      android:horizontalSpacing="5dp" 
      android:numColumns="auto_fit" 
      android:stretchMode="columnWidth" 
      android:verticalSpacing="3dp" /> 
    </LinearLayout> 

</FrameLayout> 

код является то, что:

@Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
    { 
     View view = null; 
     try 
     { 
      view = inflater.inflate(R.layout.all_pubs_layout, container, false);    

      mapView = (MapView)view.findViewById(R.id.map_view); 
      mapView.onCreate(savedInstanceState);   
      map = mapView.getMap(); 

      //set the map options 
      map.setMyLocationEnabled(false); 
      map.getUiSettings().setMyLocationButtonEnabled(false); 
      map.getUiSettings().setZoomControlsEnabled(true); 
      map.setMapType(GoogleMap.MAP_TYPE_NORMAL); 

      map.getUiSettings().setCompassEnabled(true);    

      try 
      { 
       MapsInitializer.initialize(mContext); 
      } 
      catch (Exception e){}      

      gvAllPubs = (GridView)view.findViewById(R.id.gv_all_pubs); 
      gvAdapter = new AllPubsGridViewAdapter(mContext, App.pubSortedByLastUpdate); 
      gvAllPubs.setAdapter(gvAdapter); 
      gvAllPubs.setOnItemClickListener(gridViewClickListener); 

      //select the first item in the list 
      try 
      { 
       gvAllPubs.setSelection(lastPubSelected); 
       drawLastPubSelected(lastPubSelected); 
      } 
      catch (Exception e) {} 
     } 
     catch(Exception e){} 
     return view; 
    } 

и GridView элемент нажмите слушатель:

OnItemClickListener gridViewClickListener = new OnItemClickListener() 
    { 
     @Override 
     public void onItemClick(AdapterView<?> adapter, View view, int position, long id) 
     { 
      lastPubSelected = position;   
      drawLastPubSelected(lastPubSelected);  
     } 
    }; 

private void drawLastPubSelected(int position) 
    { 
     //get the selected pub 
     PubObj selectedPub = App.pubSortedByLastUpdate.get(position); 
     double pubLat = selectedPub.pubLatitude; 
     double pubLong = selectedPub.pubLongtitude; 

     //get the pub location 
     LatLng pubLocation = new LatLng(pubLat, pubLong); 
     CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngZoom(pubLocation, 15); 
     //zoom the map to the pub 
     map.animateCamera(cameraUpdate); 

     //create the marker at the pub location 
     MarkerOptions mapMarkerOption = new MarkerOptions(); 
     mapMarkerOption.position(pubLocation); 
     mapMarkerOption.title(selectedPub.pubName.toString() +" - "+selectedPub.pubAddress.toString()); 
     mapMarkerOption.snippet(selectedPub.pubCurrentStatus.toString()); 
     mapMarkerOption.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_VIOLET)); 
     mapMarkerOption.draggable(false); 

     map.clear(); 
     Marker marker = map.addMarker(mapMarkerOption); 
     marker.showInfoWindow(); 

     //on marker click open pub details activity 
     map.setOnInfoWindowClickListener(new OnInfoWindowClickListener() 
     {   
      @Override 
      public void onInfoWindowClick(Marker marker) 
      { 
       //open pub details activity 
       Log.d("pubs", "a"); 
      } 
     }); 
    } 

теперь у меня есть два устройства, которые я отладки на первый из них является Samsung Galaxy S2 с Android версия 4.1.2, а другая - nexus 4 с версией Android 4.2.2, , проблема в том, что, когда я увеличиваю масштаб своей связи 4, я вижу пустой экран (серые квадраты, и я могу видеть только кнопки масштабирования) и на мой sgs2 я могу увеличивать и уменьшать масштаб без проблем, и я вижу, что все идеально.

В чем может быть проблема? Я борюсь с этой проблемой в течение некоторого времени. Спасибо заранее за всех, кто может помочь.

Best, Shalom Melamed.

ответ

0

Проблема решена путем полного удаления из моей связи 4 и ее переустановки.

Надеюсь, что это поможет любому.

Смежные вопросы