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