java - android sqlite 游标到映射适配器

标签 java android google-maps

我的 DataSource 类中有这部分代码,用于制作存储在我的 sqlite 数据库中的纬度和经度值列表。我正在尝试获取此列表并使用它通过设置 circleOptions 使用 mMap.addCircle 将圆圈添加到 map api v2。如何连接光标列表以创建圆圈?

 CircleOptions circleOptions = new CircleOptions()
        .center(new LatLng(location.getLatitude(), location.getLongitude())); 

数据源列表:

public List<Position> getAllPositions() {
    List<Position> position = new ArrayList<Position>();

    Cursor cursor = database.query(MySQLiteHelper.TABLE_NAME,
        allColumns, null, null, null, null, null);

    cursor.moveToFirst();
    while (!cursor.isAfterLast()) { 

        String positions = cursor.getString(1);
    double latitude = cursor.getColumnIndex("lat");
    double longitude = cursor.getColumnIndex("long");

cursor.moveToNext();
    }
    // make sure to close the cursor
    cursor.close();
    return positions;
  }

最佳答案

我不认为代码会正常工作,首先是因为在 getAllPositions 函数中你返回了一个叫做“positions”的东西,从那里看不到它,即使你返回了“position”,它是位置数组,它似乎是空的...

您可以按如下方式使用 LatLng 类

public List<LatLng> getAllPositions() {
List<LatLng> positionList = new ArrayList<LatLng>();

Cursor cursor = database.query(MySQLiteHelper.TABLE_NAME,
    allColumns, null, null, null, null, null);

cursor.moveToFirst();
while (!cursor.isAfterLast()) { 

    String positions = cursor.getString(1);
    double latitude = cursor.getColumnIndex("lat");
    double longitude = cursor.getColumnIndex("long");
    LatLng newLatLng = new LatLng(latitude, longitude);
    positionList.add(newLatLng);
    cursor.moveToNext();
}
// make sure to close the cursor
cursor.close();
return positionList;
}

然后:

List<LatLng> positionToDraw =  getAllPositions();
for(int i=0;i<positiontoDraw.size();i++){
     CircleOptions circleOptions = new CircleOptions().center(positionToDraw.get(i)); 
     // [...]
}

如果有帮助,请告诉我。

问候

关于java - android sqlite 游标到映射适配器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22001026/

相关文章:

java - 使用堆栈的汉诺塔

java - windows共享中的视频播放(JAVA)

android - Android Studio v 1.1/1.2 中的渲染问题

java - 从操作栏中选择时如何在容器中显示 fragment ?

linux - Maven 的 pom 文件 java 版本规范

java - 在移动站点上控制移动设备摄像头

java - Retrofit2 + RxJava2 全局处理错误

android - 什么是 "android.R.layout.simple_list_item_1"?

android - 添加动画作为标记 google maps android

google-maps - 在本地计算行驶距离,无需 Google Maps API