【问题标题】:How can I store map coordinates and retrieve them如何存储地图坐标并检索它们
【发布时间】:2010-10-05 08:14:26
【问题描述】:

我有 100 个地图坐标,我计划将它们存储在 5 个 xml 中,我如何将它们存储在 xml 中并在这段代码中检索它们。

MapView mapView; 
MapController mc;
GeoPoint p;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.map1);

    mapView = (MapView) findViewById(R.id.mapView);
    new LinearLayout.LayoutParams(
            android.view.ViewGroup.LayoutParams.WRAP_CONTENT, 
            android.view.ViewGroup.LayoutParams.WRAP_CONTENT); 
    mapView.displayZoomControls(true);

    mc = mapView.getController();
    String coordinates[] = {" 53.804224", "-1.759057"};
    double lat = Double.parseDouble(coordinates[0]);
    double lng = Double.parseDouble(coordinates[1]);

    p = new GeoPoint(
        (int) (lat * 1E6), 
        (int) (lng * 1E6));

    mc.animateTo(p);
    mc.setZoom(17); 
    mapView.invalidate();
}

@Override
protected boolean isRouteDisplayed() {
    // TODO Auto-generated method stub
    return false;
}

【问题讨论】:

  • 你为什么不使用 SQLiteDatabase?

标签: java android eclipse


【解决方案1】:

xml is a marked language with many forms (title,head,content,sub-item).
But your current data doesn't have such style.
I suppose you'd better store them into binary files in a custom form as following:
234.34 4535.435
3455.24 3554.356
235.234 45435.46
...............
you could access them in char,then translate into double.
moreover,SQLiteDatabase is an alternative.

【讨论】:

    【解决方案2】:

    如果您将这些数据存储在 XML 中,您需要有一个定义元素和属性的 DTD,然后有一个方法来编写这些元素和属性。您通常会使用经过良好测试的库,而不是自己滚动。您需要确定是串行还是随机访问数据(SAX 或 DOM)

    Sun 在SDN 上有很好的 Java 示例

    这里有一些关于 XML 的很好的介绍材料:

    IBM Developerworks:

    Introduction to XML

    C/C++ developers: Fill your XML toolbox

    如果您对 XML 没有特定的需求,可以考虑使用更简单的可互换数据文件,例如 JSONYAML

    【讨论】:

      【解决方案3】:

      将坐标存储在 csv(逗号分隔值)文件/列表中似乎是开销最低的最简单方法。只要您只真正存储长/纬度坐标。

      我会避免将它们存储在 XML 文件中,除非您有充分的理由,例如从服务器发送/获取它,因为解析 XML 文件会导致比简单的 csv 文件更大的开销,后者是简单的拆分/连接操作.

      但是,如果坐标是动态的并且由用户添加并且经常更改并且坐标对可能比最初的 100 对多,那么使用 sqlite 数据库将是更好的选择

      【讨论】:

        猜你喜欢
        • 2016-03-31
        • 1970-01-01
        • 2021-09-20
        • 1970-01-01
        • 2012-05-05
        • 2022-01-23
        • 2021-04-24
        • 2017-08-23
        • 1970-01-01
        相关资源
        最近更新 更多