Android 在单个地理点中显示多个覆盖。。?
我有一个图像显示在覆盖,而点击在地图上的下拉针。可能,两个或多个图像属于同一纬度和经度。在本例中,我想显示所有属于该特定纬度和经度的图像。。!我怎样才能做到这一点 这就是我试过的Android 在单个地理点中显示多个覆盖。。?,android,google-maps,Android,Google Maps,我有一个图像显示在覆盖,而点击在地图上的下拉针。可能,两个或多个图像属于同一纬度和经度。在本例中,我想显示所有属于该特定纬度和经度的图像。。!我怎样才能做到这一点 这就是我试过的 for (int i = 0; i < AllData.neardeallist.size(); i++) { mapOverlays = mapview.getOverlays(); drawable = this.getResources().getDrawable(R
for (int i = 0; i < AllData.neardeallist.size(); i++) {
mapOverlays = mapview.getOverlays();
drawable = this.getResources().getDrawable(R.drawable.pin);
itemizedOverlay = new CustomItemizedOverlay<CustomOverlayItem>(
drawable, mapview);
point = new GeoPoint((int) (Double.parseDouble(AllData.neardeallist
.get(i).getLatitude()) * 1E6),
(int) (Double.parseDouble(AllData.neardeallist
.get(i).getLongitude()) * 1E6));
CustomOverlayItem overlayItem = new CustomOverlayItem(point,
StringEscapeUtils.unescapeXml(StringEscapeUtils
.unescapeHtml4(AllData.neardeallist.get(i)
.getDealTitle())),
StringEscapeUtils.unescapeXml(StringEscapeUtils
.unescapeHtml4(AllData.neardeallist.get(i)
.getDescription()))
+ ":"
+ AllData.neardeallist.get(i).getDealId()
+ ":" + AllData.neardeallist.get(i).getDealKey(),
AllData.neardeallist.get(i).getDealImg());
itemizedOverlay.addOverlay(overlayItem);
mapOverlays.add(itemizedOverlay);
for(int i=0;i
我的自定义覆盖类
公共类CustomItemizeOverlay扩展
气球化过度{
private ArrayList<CustomOverlayItem> m_overlays = new ArrayList<CustomOverlayItem>();
private Context c;
public CustomItemizedOverlay(Drawable defaultMarker, MapView mapView) {
super(boundCenter(defaultMarker), mapView);
c = mapView.getContext();
}
public void addOverlay(CustomOverlayItem overlay) {
m_overlays.add(overlay);
populate();
}
protected CustomOverlayItem createItem(int i) {
return m_overlays.get(i);
}
public int size() {
return m_overlays.size();
}
protected boolean onBalloonTap(int i, CustomOverlayItem item) {
String[] Address = m_overlays.get(i).getSnippet().split(":");
Intent intent = new Intent(c, DealDetails.class);
intent.putExtra("deal_id", Address[1]);
intent.putExtra("deal_key", Address[2]);
c.startActivity(intent);
return true;
}
@Override
protected BalloonOverlayView<CustomOverlayItem> createBalloonOverlayView() {
// use our custom balloon view with our custom overlay item type:
return new CustomBalloonOverlayView<CustomOverlayItem>(getMapView()
.getContext(), getBalloonBottomOffset());
}
private ArrayList m_overlays=new ArrayList();
私有上下文c;
public CustomItemizedOverlay(可绘制的默认标记,MapView MapView){
超级(边界中心(默认标记)、地图视图);
c=mapView.getContext();
}
公共void addOverlay(CustomOverlayItem覆盖){
m_叠加。添加(叠加);
填充();
}
受保护的CustomOverlayItem createItem(int i){
返回m_覆盖。获取(i);
}
公共整数大小(){
返回m_覆盖。大小();
}
受保护的布尔onballoottap(int i,CustomOverlayItem项){
String[]Address=m_overlays.get(i).getSnippet().split(“:”);
意向意向=新意向(c,DealDetails.class);
意向。putExtra(“交易id”,地址[1]);
意向。putExtra(“交易密钥”,地址[2]);
c、 星触觉(意向);
返回true;
}
@凌驾
受保护的BallooOverlayView CreateBallooOverlayView(){
//将自定义引出序号视图与自定义覆盖项目类型一起使用:
返回新的CustomBallookOverlayView(getMapView()
.getContext(),getBallobottomOffset());
}
}