使用数据库中的数据添加标记谷歌地图 [英] Adding marker google map using data in database

查看:81
本文介绍了使用数据库中的数据添加标记谷歌地图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图使用数据库中的数据将标记添加到谷歌地图。我的表是:
$ b $ pre $ CREATE TABLE`markers`(
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`name` VARCHAR(60)NOT NULL,
`lat` FLOAT(10,6)NOT NULL,
`lng` FLOAT(10,6)NOT NULL

我想在Google地图中添加标记而不使用:

 最终LatLng医院=新LatLng(21,57); 
Marker Hospital = googleMap.addMarker(new MarkerOptions()。position(Hospital).title(Hospital));

如何为存储在数据库中的所有位置添加标记符?

解决方案

创建 Lng



使数据库中的函数getAllMarker成为可能:

  public List< Marker> getAllMarker(){
List< String> result = new ArrayList<>();
String selectQuery =SELECT * FROM markers;
SQLiteDatabase db = getReadableDatabase();
Cursor cursor = db.rawQuery(selectQuery,null); (cursor.moveToFirst()){
do {
result.add(new Location(cursor.getString(cursor.getColumnIndex(name)),cursor。 getFloat(cursor.getColumnIndex(lat)),cursor.getFloat(cursor.getColumnIndex(lng))));
} while(cursor.moveToNext());
}
cursor.close();
db.close();
返回结果;
}

为地图添加标记:


$ b $ (位置1:db.getAllMarker){
mMap.addMarker(new MarkerOptions()。position(new LatLng(l.getLat(),l.getLng ())。title(l.getName());
}


I'm trying to adding marker to google map using data in database. My table is :

CREATE TABLE `markers` (
  `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
  `name` VARCHAR( 60 ) NOT NULL ,
  `lat` FLOAT( 10, 6 ) NOT NULL ,
  `lng` FLOAT( 10, 6 ) NOT NULL
) 

I want to add marker in the google map without using :

final LatLng Hospital = new LatLng(21 , 57);
Marker Hospital= googleMap.addMarker(new MarkerOptions().position(Hospital ).title("Hospital"));  

how to add markers for all the locations that are stored in the database?

解决方案

Create Location Model save infor of Marker include name, Lat, Lng:

Make function getAllMarker from database:

   public List<Marker> getAllMarker() {
        List<String> result = new ArrayList<>();
        String selectQuery = "SELECT * FROM markers";
        SQLiteDatabase db = getReadableDatabase();
        Cursor cursor = db.rawQuery(selectQuery, null);

        if (cursor.moveToFirst()) {
            do {
                result.add(new Location(cursor.getString(cursor.getColumnIndex("name")), cursor.getFloat(cursor.getColumnIndex("lat")), cursor.getFloat(cursor.getColumnIndex("lng"))));
            } while (cursor.moveToNext());
        }
        cursor.close();
        db.close();
        return result;
    }

Add marker to Map:

    for(Location l: db.getAllMarker){
        mMap.addMarker(new MarkerOptions().position(new LatLng(l.getLat(), l.getLng())).title(l.getName());
    }

这篇关于使用数据库中的数据添加标记谷歌地图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆