Android 从数据库在Google Map V2上显示标记

Android 从数据库在Google Map V2上显示标记,android,android-maps-v2,Android,Android Maps V2,我将在谷歌地图v2上制作android应用程序,比如显示多个位置,该点已经存储在sqlte数据库中。但现在,我面临一些问题,没有显示任何位置。也不要得到任何错误。怎么了 我的代码 地图活动类 import java.util.ArrayList; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.widget.Toast; import com.exam

我将在谷歌地图v2上制作android应用程序,比如显示多个位置,该点已经存储在sqlte数据库中。但现在,我面临一些问题,没有显示任何位置。也不要得到任何错误。怎么了

我的代码

地图活动类

import java.util.ArrayList;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;

import com.example.location_application_v1.R;
import com.google.android.gms.internal.gs;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.MapFragment;
import com.google.android.gms.maps.model.CameraPosition;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.Marker;
import com.google.android.gms.maps.model.MarkerOptions;

public class AllMap extends Activity {
    ArrayList<GS> q = new ArrayList<GS>();
    private GoogleMap googleMap;
    String name;
    double lat;
    double lang;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_all_map);
        try {
            initilizeMap();
        } catch (Exception e) {
            e.printStackTrace();
        }
        DBAdapter db = DBAdapter.getDBAdapter(getApplicationContext());
        db.openDatabase();
        db.GetAllPin();
        for (int i = 0; i < q.size(); i++) {
            Log.i("arr", "" + q.get(i).getId());
            // lat=db.GetAllPin().get(i).getLat();
            // lang=db.GetAllPin().get(i).getLng();
            lat = q.get(i).getLat();
            lang = q.get(i).getLng();

            LatLng latlng = new LatLng(lat, lang);
            googleMap = ((MapFragment) getFragmentManager().findFragmentById(
                    R.id.map1)).getMap();
            googleMap.addMarker(new MarkerOptions().position(
                    new LatLng(lat, lang)).title(q.get(i).getName()));

        }

    }

    private void initilizeMap() {
        if (googleMap == null) {
            googleMap = ((MapFragment) getFragmentManager().findFragmentById(
                    R.id.map1)).getMap();
            googleMap.addMarker(new MarkerOptions().position(new LatLng(lat,
                    lang)));

            // check if map is created successfully or not
            if (googleMap == null) {
                Toast.makeText(getApplicationContext(),
                        "Sorry! unable to create maps", Toast.LENGTH_SHORT)
                        .show();

            }
        }
    }

    @Override
    protected void onResume() {
        super.onResume();
        initilizeMap();
    }

}
import java.util.ArrayList;
导入android.app.Activity;
导入android.os.Bundle;
导入android.util.Log;
导入android.widget.Toast;
导入com.example.location\u application\u v1.R;
导入com.google.android.gms.internal.gs;
导入com.google.android.gms.maps.CameraUpdateFactory;
导入com.google.android.gms.maps.GoogleMap;
导入com.google.android.gms.maps.MapFragment;
导入com.google.android.gms.maps.model.CameraPosition;
导入com.google.android.gms.maps.model.LatLng;
导入com.google.android.gms.maps.model.Marker;
导入com.google.android.gms.maps.model.MarkerOptions;
公共类AllMap扩展活动{
ArrayList q=新的ArrayList();
私人谷歌地图谷歌地图;
字符串名;
双lat;
双郎;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u all\u map);
试一试{
initilizeMap();
}捕获(例外e){
e、 printStackTrace();
}
DBAdapter db=DBAdapter.getDBAdapter(getApplicationContext());
openDatabase();
db.GetAllPin();
对于(int i=0;i
我认为您需要更改:

db.GetAllPin();

您已经初始化了
q
,但没有设置任何设置,因为
GetAllPin
返回
ArrayList
我想您忘记了将其设置为
q
,因为在下一行中,您尝试使用以下代码通过
q

for (int i = 0; i < q.size(); i++)
for(int i=0;i
for (int i = 0; i < q.size(); i++)