2015-03-14 2 views
0

im пытается реализовать вид на улицу моего приложения для Android и выполнил инструкции по документации и Google API ... Он соответствует штрафам и не имеет проблем, но при попытке запустить его в моем приложении для Android он вылетает из-за не в состоянии выполнить эту линиюStreeViewPanorama Api v2 возвращает null

streetViewPanoramaFragment.getStreetViewPanoramaAsync(this); 

Мои сервисы Google Play, права доступа и ключ API все правильно, как я сделал карту заранее и просто прокомментировал это так, чтобы попробовать это, но это делать посланный кажется работать и не может понять, почему

public class Maps extends Activity implements OnStreetViewPanoramaReadyCallback { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_maps); 

    /*GoogleMap map = ((MapFragment) getFragmentManager().findFragmentById(R.id.mapping)).getMap(); 
    LatLngBounds bounds = new LatLngBounds(
      new LatLng(54.001615, -2.794561), // South west corner 
      new LatLng(54.001615, -2.782674)); // North east corner 
    map.setMyLocationEnabled(true); 
    map.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(54.00908, -2.787565), 14)); 
    map.addMarker(new MarkerOptions() 
      .title("Lancaster Campus") 
      .snippet("LUCM") 
      .position(new LatLng(40.716216, -74.213393))); 
    CameraPosition INIT = 
      new CameraPosition.Builder() 
        .target(new LatLng(54.00908, -2.787565)) 
        .zoom(25.5F) 
        .bearing(300F) // orientation 
        .tilt(50F) // viewing angle 
        .build(); 
    map.setMapType(GoogleMap.MAP_TYPE_TERRAIN); 
    map.setTrafficEnabled(true); 
    map.setBuildingsEnabled(true);*/ 

    StreetViewPanoramaFragment streetViewPanoramaFragment = 
      ((StreetViewPanoramaFragment) getFragmentManager() 
        .findFragmentById(R.id.streetviewpanorama)); 
    streetViewPanoramaFragment.getStreetViewPanoramaAsync(this); 

} 

public void onStreetViewPanoramaReady(StreetViewPanorama panorama) { 
    panorama.setPosition(new LatLng(-33.87365, 151.20689)); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.menu_maps, menu); 
    return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle action bar item clicks here. The action bar will 
    // automatically handle clicks on the Home/Up button, so long 
    // as you specify a parent activity in AndroidManifest.xml. 
    int id = item.getItemId(); 

    //noinspection SimplifiableIfStatement 
    if (id == R.id.action_settings) { 
     return true; 
    } 

    return super.onOptionsItemSelected(item); 
} 


} 

фрагмент

<fragment 
android:name="com.google.android.gms.maps.StreetViewPanoramaFragment" 
android:id="@+id/streetviewpanorama" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
xmlns:android="http://schemas.android.com/apk/res/android" /> 

активность XML связан с классом

<?xml version="1.0" encoding="utf-8"?> 
<fragment xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/mapping" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:name="com.google.android.gms.maps.MapFragment"/> 

манифеста метаданные

<meta-data 
     android:name="com.google.android.gms.version" 
     android:value="@integer/google_play_services_version" /> 
    <meta-data 
     android:name="com.google.android.maps.v2.API_KEY" 
     android:value="*my api key*" /> 

ошибка

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.google.android.gms.maps.StreetViewPanoramaFragment.getStreetViewPanoramaAsync(com.google.android.gms.maps.OnStreetViewPanoramaReadyCallback)' on a null object reference 
     at harman.com.lufr.Maps.onCreate(Maps.java:68) 
+0

В сообщении говорится, что используется нулевой указатель. Вот процедура для отладки этой ошибки: [Что такое исключение Null Pointer Exception и как его исправить?] (Http://stackoverflow.com/questions/218384/what-is-a-null-pointer-exception- и-how-do-i-fix-it) – mins

ответ

0

streetViewPanoramaFragment равна нулю.

Вы уверены, что вы добавили фрагмент в свой xml, а ваши совпадения соответствуют R.id.streetviewpanorama?

<fragment 
    android:name="com.google.android.gms.maps.StreetViewPanoramaFragment" 
    android:id="@+id/streetviewpanorama" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"/> 

EDIT:

StreetViewPanoramaFragment отсутствует вашей деятельности XML.

+0

да, то же самое, что – Harjit

+0

@Harjit - разместите свою активность и исходный код xml. – Ziem

+0

Я отредактировал вопрос, чтобы показать все эти файлы – Harjit

0

Это сработало для меня.

streetViewPanoramaFragment.getStreetViewPanoramaAsync(
    new OnStreetViewPanoramaReadyCallback() { 
     @Override 
     public void onStreetViewPanoramaReady(StreetViewPanorama panorama) { 
      // Do what you want to do here. 
     } 
    } 
); 
Смежные вопросы