Android 从谷歌地图点击ballon上的ballon获取数据

Android 从谷歌地图点击ballon上的ballon获取数据,android,Android,我在谷歌地图上显示了纬度和经度,当我点击marker时,它会显示一个气球,上面写着画廊的名称和地址 我想当我点击气球,画廊的名称是获取如何实现这一点,下面是我的代码: @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mapView = (MapView) find

我在谷歌地图上显示了纬度和经度,当我点击marker时,它会显示一个气球,上面写着画廊的名称和地址 我想当我点击气球,画廊的名称是获取如何实现这一点,下面是我的代码:

@Override
public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);


    mapView = (MapView) findViewById(R.id.map);
    mapView.setBuiltInZoomControls(true);
    mapOverlays = mapView.getOverlays();
    drawable1 = getResources().getDrawable(R.drawable.greenballon);
    itemizedOverlay = new MyItemizedOverlay(drawable1, mapView);
    drawable2 = getResources().getDrawable(R.drawable.blueballon);
    itemizedOverlay2 = new MyItemizedOverlay(drawable2, mapView);
    drawable3 = getResources().getDrawable(R.drawable.redballon);
    itemizedOverlay3 = new MyItemizedOverlay(drawable3, mapView);

    for(int i=0;i<20;i++)
    {
            if(sitesList.getType().get(i).equalsIgnoreCase("Centros Culturales"))
            {

         name = sitesList.getLatitude().get(i);
         name1 = sitesList.getLongitude().get(i);
        Log.i("centos culturales lat" + i,name);
        Log.i("culturarls longitiitude"+i,name1);
        point = new GeoPoint((int) (Double.parseDouble(name) * 1E6),
                    (int) (Double.parseDouble(name1) * 1E6));
        OverlayItem overlayItem = new OverlayItem(point, sitesList.getGalleryname().get(i), 
                             sitesList.getAddress().get(i));
                     itemizedOverlay.addOverlay(overlayItem);
    }
    }
for(int i=0;i<sitesList.getLatitude().size();i++)
        {
                if(sitesList.getType().get(i).equalsIgnoreCase("Centros Culturales"))
                {

             name = sitesList.getLatitude().get(i);
             name1 = sitesList.getLongitude().get(i);
            Log.i("centos culturales lat" + i,name);
            Log.i("culturarls longitiitude"+i,name1);
            point = new GeoPoint((int) (Double.parseDouble(name) * 1E6),
                        (int) (Double.parseDouble(name1) * 1E6));
            OverlayItem overlayItem = new OverlayItem(point, sitesList.getGalleryname().get(i), 
                                 sitesList.getAddress().get(i));
                         itemizedOverlay.addOverlay(overlayItem);
        }
        }
        for(int i=0;i<sitesList.getLatitude().size();i++)
        {
                if(sitesList.getType().get(i).equalsIgnoreCase("Residencias"))
                {

             name = sitesList.getLatitude().get(i);
             name1 = sitesList.getLongitude().get(i);
            Log.i("residencias latitute" + i,name);
             Log.i("residencias longitiitude"+i,name1);
             point3 = new GeoPoint((int) (Double.parseDouble(name) * 1E6),
                        (int) (Double.parseDouble(name1) * 1E6));
                         OverlayItem overlayItem = new OverlayItem(point3,        sitesList.getGalleryname().get(i), 
                                 sitesList.getAddress().get(i));
                         itemizedOverlay2.addOverlay(overlayItem);
        }
        }
                mapOverlays.add(itemizedOverlay);
        mapOverlays.add(itemizedOverlay2);
**//actuaaly i show lat long in google map according to "gallery type"..so here how to get data on tap of baloon...??????**
               @Override
        protected boolean onBalloonTap(int index, OverlayItem item) {


    for(int i=0;i<sitesList.getLatitude().size();i++)
                    {
                            if(sitesList.getType().get(i).equalsIgnoreCase("Centros Culturales"))
                            {

                                  array_galleryname1 = new String[sitesList.getGalleryname().size()];
                                  array_galleryurl1 = new String[sitesList.getImagesurl().size()];
                                  galleryname = sitesList.getGalleryname().get(i);
                                  galleryurl = sitesList.getImagesurl().get(i);
                                  array_galleryname1[index] = galleryname;
                                  array_galleryurl1[index] = galleryurl;



                            }

                 }
                    Toast.makeText(c,  array_galleryname1[index] + index,
                            Toast.LENGTH_LONG).show();  

                    for(int i=0;i<sitesList.getLatitude().size();i++)
                    {                                    if(sitesList.getType().get(i).equalsIgnoreCase("Residencias"))
                            {
                array_galleryname = new String[sitesList.getGalleryname().size()];
                  array_galleryurl1 = new     String[sitesList.getImagesurl().size()];
                                  galleryname = sitesList.getGalleryname().get(i);
                                  galleryurl = sitesList.getImagesurl().get(i);

                    array_galleryname[index] = galleryname;
                    array_galleryurl1[index] = galleryurl;



                            }



                 }
@覆盖
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mapView=(mapView)findViewById(R.id.map);
mapView.SetBuilTinZoomControl(真);
mapOverlays=mapView.getOverlays();
drawable1=getResources().getDrawable(R.drawable.greenballon);
itemizedOverlay=新的MyItemizedOverlay(drawable1,mapView);
drawable2=getResources().getDrawable(R.drawable.blueballon);
itemizedOverlay2=新的MyItemizedOverlay(drawable2,mapView);
drawable3=getResources().getDrawable(R.drawable.redballon);
itemizedOverlay3=新的MyItemizedOverlay(drawable3,mapView);
对于(int i=0;i您必须重写onTap()。

查看此链接。

我已经做了更多的事情,比如点击标记显示气球,我已经在上面填写了一些信息,现在qus是如何在点击气球时获取这些数据??亲爱的,实际上我正在显示按“类型”分类的不同颜色的标记在覆盖项上,我填写了一些信息,这些信息显示在气球上,现在我想在点击气球时得到这个值。看到这个,你会得到你的答案…这是你可以得到答案的链接。我希望这是有帮助的。气球有三个主要的类文件..使用它..在你的主地图中添加这一行..Drawable drawable=ctx.getResources().getDrawable(R.drawable.pin2);ItemizeOverlay=new MyItemizeOverlay(drawable,myMap);OverlayItem OverlayItem=new OverlayItem(gp,名称,地址);ItemizeOverlay.addOverlay(OverlayItem);mapOverlays.add(ItemizeOverlay);myMC.setCenter(gp);myMC.setZoom(16);这正是我所做的,但现在的问题是,如何从气球中获取数据以显示在toast中或使用其他方式…意味着我的覆盖项包含名称和地址如何在气球上点击它,…请解释PLSPL我能够在点击标记时显示气球弹出窗口,但现在qus是如何获取气球中的数据????请解释??