java– 如何在谷歌地图android上显示多个标记

java– 如何在谷歌地图android上显示多个标记,第1张

概述我想在googlemapsandroid上显示多个标记的位置,问题是当我运行我的应用程序时,它只显示一个位置/标记,这是我的代码:publicclasskoordinatTaskextendsAsyncTask<String,String,String>{@OverrideprotectedvoidonPreExecute(){supe

我想在Google maps android上显示多个标记的位置,问题是当我运行我的应用程序时,它只显示一个位置/标记,这是我的代码:

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);        }       }

我不知道我的错在哪里,我希望有人能帮助我解决我的问题,非常感谢你

解决方法:

用这个:

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 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)                );            }

纬度和经度是你在arrayList中存储的字符串,具有不同的名称…..

总结

以上是内存溢出为你收集整理的java – 如何在谷歌地图android上显示多个标记全部内容,希望文章能够帮你解决java – 如何在谷歌地图android上显示多个标记所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1096267.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存