gpt4 book ai didi

java - 使用数组列表将标记添加到 Google map 。安卓

转载 作者:行者123 更新时间:2023-12-01 13:27:44 24 4
gpt4 key购买 nike

我正在尝试将数据库中的值捕获到数组列表中。我只想获取纬度和经度来创建标记。

这是我在数据库处理程序类中的 gettemple() 函数

public ArrayList<kovil> Get_Temple(String temple_type, String Limit) {
try {
temple_list.clear();

// Select All Query
String selectQuery = "SELECT * FROM " + TABLE_TEMPLE +"WHERE KEY_TMPTYPE=" + temple_type +"LIMIT" + Limit;

SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
System.out.print("CALLED");
// looping through all rows and adding to list
if (cursor.moveToFirst()) {
do {
kovil Kovil = new kovil();
Kovil.setID(Integer.parseInt(cursor.getString(0)));
Kovil.settemplename(cursor.getString(1));
Kovil.settempletype(cursor.getString(2));
Kovil.setlatitude(cursor.getString(3));
Kovil.setlongitude(cursor.getString(4));
Kovil.setimage_name(cursor.getString(5));
Kovil.setyear_build(cursor.getString(6));
Kovil.setaddress(cursor.getString(7));
Kovil.setcity(cursor.getString(8));
Kovil.setemail(cursor.getString(9));
Kovil.setwebsite(cursor.getString(10));
Kovil.settelephone1(cursor.getString(11));
Kovil.settelephone2(cursor.getString(12));
Kovil.setDescription(cursor.getString(13));

// Adding contact to list
temple_list.add(Kovil);
} while (cursor.moveToNext());
}

// return contact list
cursor.close();
db.close();
return temple_list;
} catch (Exception e) {
// TODO: handle exception
Log.e("all_temples", "" + e);
}

return temple_list;
}

这将返回同一类中的temple_list数组。

 private final ArrayList<kovil> temple_list = new ArrayList<kovil>();

并尝试调用 View map 类中的 Get_Temple() 函数

    dbhand.Get_Temple((getIntent().getExtras().getString("temple_type")), getIntent().getExtras().getString("notemples"));


for (int i=0; i< Integer.parseInt(getIntent().getExtras().getString("notemples"));i++) {
//displaytemples(9.662502, 80.010239, "mugan kovil");

}

我正在尝试使用此类显示标记

public boolean displaytemples(double lati, double longi, String templename){

MarkerOptions marker = new MarkerOptions().position(new LatLng(lati, longi)).title(templename);
marker.icon(BitmapDescriptorFactory.fromResource(R.drawable.icon));
//marker.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_GREEN));
mMap.addMarker(marker);


return true;
}

我只想从数组列表中捕获纬度和经度,并使用 for 循环将纬度和经度传递给 displaytemples ()。

谁能帮我编写一个 for 循环,它只捕获纬度和经度并将其传递给 displaytemples() 函数。谢谢...

最佳答案

说实话,你的代码让我感到害怕......但那是不同的问题。我唯一要指出的是,不要从主线程获取数据库。您正在以这种方式阻塞 UI :( 。查看 AsyncTask 或其他一些从主线程卸载数据库操作的方法..

至于你的问题 - 你可以尝试这样的事情:

ArrayList<kovil> data = dbhand.Get_Temple(getIntent().getExtras().getString("temple_type"), 
getIntent().getExtras().getString("notemples"));


for (kovil temple: data) {
displaytemples(Double.parseDouble(temple.getlatitude(),
temple.getlongitude(),
temple.gettemplename());

}

关于java - 使用数组列表将标记添加到 Google map 。安卓,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21722434/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com