Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法从SqLite获取坐标以映射活动_Java_Sqlite_Google Maps_Android Fragments_Google Maps Markers - Fatal编程技术网

Java 无法从SqLite获取坐标以映射活动

Java 无法从SqLite获取坐标以映射活动,java,sqlite,google-maps,android-fragments,google-maps-markers,Java,Sqlite,Google Maps,Android Fragments,Google Maps Markers,我试图从数据库中获取坐标,以便在地图活动中进行标记。但我总是得到一个空指针异常 这是我的数据库: String query = "CREATE TABLE "+TABLE_NAME+"("+ COLUMN_ID+ " INTEGER PRIMARY KEY AUTOINCREMENT, "+ COLUMN_LAT+ " REAL, "+

我试图从数据库中获取坐标,以便在地图活动中进行标记。但我总是得到一个空指针异常

这是我的数据库:

String query = "CREATE TABLE "+TABLE_NAME+"("+
                COLUMN_ID+ " INTEGER PRIMARY KEY AUTOINCREMENT, "+
                COLUMN_LAT+ " REAL, "+
                COLUMN_LONG+" REAL, "+
                COLUMN_NUM+ " INTEGER "+
                ");";
这就是我调用函数以在我的MapActivity中获取数据库的lat和long值的方式:

public void onMapReady(GoogleMap googleMap) {
    mMap = googleMap;
    mMap.setMyLocationEnabled(true);
    mMap.getUiSettings().setMyLocationButtonEnabled(true);
    double[] dblat = new double[5];
//this is where I get NullPoint Exception
    dblat=dbHandler.Markerslat();
    double []dblong = new double[5];
     dblong = dbHandler.Markerslong();
    for(int j=0;j<dblat.length;j++) {

        LatLng latLng = new LatLng( dblat[j], dblong[j] );
        MarkerOptions markerOptions = new MarkerOptions();
        markerOptions.position( latLng );
        markerOptions.title( "Pothole" );
        markerOptions.icon(BitmapDescriptorFactory.fromResource(R.drawable.potholesmall));
        mMap.addMarker( markerOptions );
        mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng, 10));
        mMap.animateCamera(CameraUpdateFactory.zoomTo(15));

    }
}
public double [] Markerslat(){
    SQLiteDatabase db = getWritableDatabase();

    Cursor cursor = db.rawQuery("SELECT * FROM "+ TABLE_NAME + ";",null);
    cursor.moveToFirst();
    int k = cursor.getCount();
    double []dlatitude= new double[k];
    for(int i=0;i<k;i++){

        dlatitude[i]=cursor.getDouble(1);
        Log.i(TAG, "Entered");
        cursor.moveToNext();
    }
    db.close();

    return dlatitude;

}

public double[] Markerslong(){
    SQLiteDatabase db = getWritableDatabase();

    Cursor cursor = db.rawQuery("SELECT longitude FROM "+ TABLE_NAME +";",null);
    cursor.moveToFirst();
    int k = cursor.getCount();
    double []dlongitude= new double[k];
    cursor.moveToFirst();
    for(int i=0;i<k;i++){

        dlongitude[i]=cursor.getDouble(2);
        cursor.moveToNext();
    }
    db.close();

    return dlongitude;

}
public void onMapReady(谷歌地图谷歌地图){
mMap=谷歌地图;
mMap.setMyLocationEnabled(真);
mMap.getUiSettings().setMyLocationButtonEnabled(true);
double[]dblat=新的double[5];
//这就是我得到NullPoint异常的地方
dblat=dbHandler.Markerslat();
double[]dblong=新的双精度[5];
dblong=dbHandler.Markerslong();
对于(int j=0;j