2

我是编程新手,(仅 2 个月)

我正在编写一个应用程序,记录你开车时的纬度和经度,并采摘杂草。然后它会创建一个 kml 文件,以便您(农民)可以看到您去过的地方。

如果您在同一地点(相同的纬度和经度)挑选四种杂草,则输出是一个 kml 图钉,当您单击它时,它会扩展为四个;然而,这意味着农民必须点击所有的大头针才能看到多个大头针。

这是我的代码,使我的 kml

      db = openOrCreateDatabase(rabbitsrv.DATABASE_NAME, SQLiteDatabase.OPEN_READWRITE, null);
               cursor = db.rawQuery("SELECT * " +
            " FROM " + rabbitsrv.BAG_TABLE_NAME +
            " ORDER BY LATITUDE ASC;",
            null);
    int gmtTimestampColumnIndex = cursor.getColumnIndexOrThrow("GMTTIMESTAMP");
    int latitudeColumnIndex = cursor.getColumnIndexOrThrow("LATITUDE");
    int longitudeColumnIndex = cursor.getColumnIndexOrThrow("LONGITUDE");  
                if (cursor.moveToFirst()) {
                        StringBuffer fileBuf = new StringBuffer();
                        String beginTimestamp = null;
                        String endTimestamp = null;
                        String gmtTimestamp = null;
                        initFileBufk(fileBuf, initValuesMap());
                        do {gmtTimestamp = cursor.getString(gmtTimestampColumnIndex);
                        if (beginTimestamp == null) {beginTimestamp = gmtTimestamp;}
                                double latitude = cursor.getDouble(latitudeColumnIndex);
                                double longitude = cursor.getDouble(longitudeColumnIndex);
                                fileBuf.append("<Placemark><Point><coordinates>"+
                                        sevenSigDigits.format(longitude)+","+sevenSigDigits.format(latitude)+
                                                "</coordinates></Point></Placemark>\n");
                        } while (cursor.moveToNext());
                        endTimestamp = gmtTimestamp;
                        cursor.moveToLast();
                        closeFileBufk(fileBuf, beginTimestamp, endTimestamp);
                        String fileContents = fileBuf.toString();
                        Log.d(tag, fileContents);

我真正想做的是有一个 if 语句。我知道以下内容不起作用,因为我编造了.nextvalue

if ((cursor.lat==cursor.nextvalue.lat)&(cursor.long==cursor.nextvalue,long){
    // make purple pushpin
} else {
    // make yellow pushpin.
}

更好的是,如果我能数出我在同一纬度和经度上有多少杂草,并且如果有 7 个(例如)我可以制作一个带有数字 7 的旗帜。

我可以做的 kml 方面 - 这是我坚持的 sql/cursor 位。

4

0 回答 0