Java 如何在谷歌地图android上显示多个标记
我想在google maps android上用多个标记显示位置,问题是当我运行我的应用程序时,它只显示一个位置/标记,这是我的代码:Java 如何在谷歌地图android上显示多个标记,java,android,json,google-maps-android-api-2,Java,Android,Json,Google Maps Android Api 2,我想在google maps android上用多个标记显示位置,问题是当我运行我的应用程序时,它只显示一个位置/标记,这是我的代码: public class koordinatTask extends AsyncTask<String, String, String> { @Override protected void onPreExecute() { super.onPreExecute();
public class koordinatTask extends AsyncTask<String, String, String>
{
@Override
protected void onPreExecute() {
super.onPreExecute();
setProgressBarIndeterminateVisibility(true);
}
protected String doInBackground(String... args) {
String url = "http://absc?action=p04&prov="+link_kode+"&tipe=";
JSONArray data = null;
try {
JSONParser jParser = new JSONParser();
JSONObject json = jParser.getJSONFromUrl(url);
// Getting Array of data
data = json.getJSONArray(real_data);
System.out.println("realisasi done");
for(int i = 0; i < data.length(); i++){
JSONObject c = data.getJSONObject(i);
HashMap<String, String> map = new HashMap<String, String>();
HashMap<String, Double> map1 = new HashMap<String, Double>();
x_lat = c.getDouble(x_cord);
y_long = c.getDouble(y_cord);
label = c.getString(prov_label);
map1.put(x_cord, x_lat);
map1.put(y_cord, y_long);
map.put(prov_label, label);
ProvinsiList.add(map);
ProvinsiList.add(map1);
System.out.println(x_lat);
}
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String file_url) {
LatLng MAP_PUPI = new LatLng(x_lat, y_long);
Marker Pupi = map.addMarker(new MarkerOptions().position(
new LatLng(x_lat, y_long)).title(label));
map.moveCamera(CameraUpdateFactory.newLatLngZoom(MAP_PUPI, 15));
map.animateCamera(CameraUpdateFactory.zoomTo(10), 2000, null);
}
}
公共类任务扩展了异步任务
{
@凌驾
受保护的void onPreExecute(){
super.onPreExecute();
SetProgressBarInDeterminateVibility(真);
}
受保护的字符串doInBackground(字符串…args){
字符串url=”http://absc?action=p04&prov=“+link_kode+”&tipe=“;
JSONArray数据=null;
试一试{
JSONParser jParser=新的JSONParser();
JSONObject json=jParser.getJSONFromUrl(url);
//获取数据数组
data=json.getJSONArray(真实数据);
System.out.println(“现实完成”);
对于(int i=0;i
我不知道我的错在哪里,我希望有人能帮我解决我的问题,非常感谢你使用这个:
for (int i = 0; i < yourArrayList.size(); i++) {
double lati=Double.parseDouble(pins.get(i).latitude);
double longLat=Double.parseDouble(pins.get(i).longitude);
MAP.addMarker(new MarkerOptions().position(new LatLng(lati,longLat)).title(pins.get(i).pinname).snippet(pins.get(i).address));
}
for(int i=0;i
或者,您也可以使用:
for(int pin=0; pin<pins.size(); pin++)
{
LatLng pinLocation = new LatLng(Float.parseFloat(pins.get(pin).latitude), Float.parseFloat(pins.get(pin).longitude));
Marker storeMarker = map.addMarker(new MarkerOptions()
.position(pinLocation)
.title(pins.get(pin).pinname)
.snippet(pins.get(pin).address)
);
}
for(int pin=0;pin它是如何工作的?就像我在arraylist
中存储lat和long,而不是for(int i=0;i
和像这样添加lat和longarraylist.add(lat)
和arraylist.add(long)`这行得通吗?Arraylist必须与LatLng prototype.Arraylist yourArrayList=new Arraylist();我的意思是在其中添加lat和long。