android - 在 Android 谷歌地图 v2 上保存标记

标签 android google-maps google-maps-markers android-maps savestate

我正在使用 Android Google maps v2 API 并将其设置为在长按时添加标记。我需要一种方法来保存这些标记并在应用程序再次恢复时重新加载它们。最好的方法是什么?请帮忙

目前我添加标记如下:

map.addMarker(new MarkerOptions().position(latlonpoint)
            .icon(bitmapDescriptor).title(latlonpoint.toString()));

最佳答案

我明白了!我可以通过将点的数组列表保存到文件然后从文件中读回它们来轻松地做到这一点

我执行以下 onPause:

try {
    // Modes: MODE_PRIVATE, MODE_WORLD_READABLE, MODE_WORLD_WRITABLE
    FileOutputStream output = openFileOutput("latlngpoints.txt",
    Context.MODE_PRIVATE);
    DataOutputStream dout = new DataOutputStream(output);
    dout.writeInt(listOfPoints.size()); // Save line count
    for (LatLng point : listOfPoints) {
        dout.writeUTF(point.latitude + "," + point.longitude);
        Log.v("write", point.latitude + "," + point.longitude);
    }
    dout.flush(); // Flush stream ...
    dout.close(); // ... and close.
} catch (IOException exc) {
    exc.printStackTrace();
}

onResume:我做相反的事情

try {
    FileInputStream input = openFileInput("latlngpoints.txt");
    DataInputStream din = new DataInputStream(input);
    int sz = din.readInt(); // Read line count
    for (int i = 0; i < sz; i++) {
        String str = din.readUTF();
        Log.v("read", str);
        String[] stringArray = str.split(",");
        double latitude = Double.parseDouble(stringArray[0]);
        double longitude = Double.parseDouble(stringArray[1]);
        listOfPoints.add(new LatLng(latitude, longitude));
    }
    din.close();
    loadMarkers(listOfPoints);
} catch (IOException exc) {
    exc.printStackTrace();
}

关于android - 在 Android 谷歌地图 v2 上保存标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14494102/

相关文章:

android - 当我想要获取包抖动时,它显示 HTTP 错误 403 : Forbidden

Android 模拟器设置 GPS 值

php - 将数据库中的坐标绘制到谷歌地图中,​​不断检查新值

java - 在 Android 上隐藏 MapBox 标记

java - 交换按钮在android中的位置

使用 super.onDestroy 时 Android MapActivity 崩溃

android - 不在后台android中使用时如何禁用Wifi?

android - 从另一个 Activity 返回时,MapFragment 的 map 加载延迟

javascript - 谷歌地图 getZoom

android - 在选中时更改 Google map 标记的图标