2015-04-11 2 views
0

я пытаюсь создать карту в виде фрагмента в целях красть, но с помощью этого кода у меня есть ошибки в LogCat, это код:Карта в осколке Android результате по ошибке

public class Mapa extends Fragment { 

    private static final double MARKER_LATITUDE = 42.027325; 
    private static final double MARKER_LONGITUDE = -8.640842; 
    GoogleMap map; 
    private FragmentActivity myContext; 

    public Mapa() { 
    } 

    /** 
    * Returns a new instance of this fragment for the given section 
    * number. 
    */ 
    public static Mapa newInstance() { 
     Mapa fragment = new Mapa(); 
     return fragment; 
    } 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 

     View android = inflater.inflate(R.layout.mapa, container, false); 
     final LatLng position = new LatLng(MARKER_LATITUDE, MARKER_LONGITUDE); 


     // camera position 
     map.setOnCameraChangeListener(new GoogleMap.OnCameraChangeListener() 
     { 
      @Override 
      public void onCameraChange(CameraPosition arg0) 
      { 
       CameraUpdate cu = CameraUpdateFactory.newLatLngZoom(position, 17); 
       map.animateCamera(cu); 
       map.setOnCameraChangeListener(null); 
       map.setMapType(GoogleMap.MAP_TYPE_HYBRID); 
      } 
     }); 
     return android; 
    } 

    @Override 
    public void onAttach(Activity activity) { 
     myContext=(FragmentActivity) activity; 
     super.onAttach(activity); 
    } 

    @Override 
    public void onDestroyView() { 
     super.onDestroyView(); 
     Fragment f = getFragmentManager().findFragmentById(R.id.mapFragment); 
     if (f != null) 
      getFragmentManager().beginTransaction().remove(f).commit(); 
    } 

} 

и это ошибка LogCat:

java.lang.NullPointerException: Attempt to invoke virtual method 'void com.google.android.gms.maps.GoogleMap.setOnCameraChangeListener(com.google.android.gms.maps.GoogleMap$OnCameraChangeListener)' on a null object reference at greetrack.estg.ipvc.greentrack.Mapa.onCreateView(Mapa.java:49)

его мой первый приложение с использованием карт, может быть, нечто неправильно

ответ

0

У вас нет карты установки, ее нуль. Итак, нулевая ссылка.

Map = ((MapFragment) getFragmentManager().findFragmentById(
       R.id.mapView)).getMap(); 

- это один из способов или потенциально следующая рекомендация по поиску. Вот фрагмент карты xml.

Файл xml, который я вставляю, не отображается https://developers.google.com/maps/documentation/android/start#get_an_android_certificate_and_the_google_maps_api_key вот ссылка к нему. Добавьте следующий код в MainActivity.java.

package com.example.mapdemo; 

    import android.app.Activity; 
    import android.os.Bundle; 

    public class MainActivity extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
    } 
    } 
+0

Но моя проблема в том, что мое заявление в ФРАГМЕНТАХ (вид салфетки), поэтому я не имею «расширить деятельность» есть, «расширить фрагмент», так что я эту ошибку пошел попробовать поставить код: Несовместимые типы, не может наложить «android.support.v4.Fragment» на «com.google.android.gms.maps.MapFragment» – SaPires