0

i tried to follow the source code given here (weblink).

and then, changing the variable of :

RasterDataSource dataSource = new HTTPRasterDataSource(new EPSG3857(), 0, 18, "http://otile1.mqcdn.com/tiles/1.0.0/osm/{zoom}/{x}/{y}.png");

with my own value (the file is created by MOBAC with RMaps SQLite format):

RasterDataSource dataSource = new HTTPRasterDataSource(new EPSG3857(), 0, 18, "/sdcard0/podcast/map/bandung.sqlitedb");

and the rest of the code still the same. But there's no map shown. Is there anything I forgot?

Here is my activity_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:fillViewport="true"
    android:orientation="vertical" >

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

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/gps_title"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textColor="@color/default_color" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/gps_desc"
        android:textColor="@color/default_color" />

    <TableLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <TableRow
            android:id="@+id/tableRow1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/textView3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/gps_livtr"
                android:textColor="@color/default_color" />

            <ToggleButton
                android:id="@+id/toggleButton1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
        </TableRow>
    </TableLayout>

    <TextView
        android:id="@+id/textView4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/gps_curloc"
        android:textColor="@color/default_color" />

    <FrameLayout
        android:id="@+id/frm_lay"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <com.nutiteq.MapView
            android:id="@+id/mapView"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" />

        <ZoomControls
            android:id="@+id/zoomcontrols"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    </FrameLayout>

    <TableLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <TableRow
            android:id="@+id/tableRow2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/textView5"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/gps_latitude"
                android:textColor="@color/default_color" />

            <EditText
                android:id="@+id/txt_latitude"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:ems="10"
                android:inputType="text" />
        </TableRow>

        <TableRow
            android:id="@+id/tableRow3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/textView6"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/gps_longtitude"
                android:textColor="@color/default_color" />

            <EditText
                android:id="@+id/txt_longtitude"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:inputType="text"
                android:ems="10" >

                <requestFocus />
            </EditText>
        </TableRow>

        <TableRow
            android:id="@+id/tableRow5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/textView7"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/gps_altitude"
                android:textColor="@color/default_color" />

            <EditText
                android:id="@+id/txt_altitude"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:ems="10"
                android:inputType="text" />
        </TableRow>
    </TableLayout>

</LinearLayout>

</ScrollView>
gumuruh
  • 2,544
  • 4
  • 33
  • 56

1 Answers1

0

HTTPRasterDataSource is for HTTP, as name tells. You must use MBTilesRasterDataSource from AdvancedLayers project for MOBAC-generated files

    try {
        MBTilesRasterDataSource dataSource = new MBTilesRasterDataSource(new EPSG3857(), 0, 18, "/sdcard0/podcast/map/bandung.sqlitedb", false, this);
        RasterLayer mbLayer = new RasterLayer(dataSource, file.hashCode());
        mapView.getLayers().addLayer(mbLayer);
    } catch (IOException e) {
        // means usually that given .mbtiles file is not found or cannot be opened as sqlite database
        Log.error(e.getLocalizedMessage());
        e.printStackTrace();
    }
JaakL
  • 4,107
  • 5
  • 24
  • 37