Android 从数据库在Google Map V2上显示标记
我将在谷歌地图v2上制作android应用程序,比如显示多个位置,该点已经存储在sqlte数据库中。但现在,我面临一些问题,没有显示任何位置。也不要得到任何错误。怎么了 我的代码 地图活动类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
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++)