图形页面气球到的DetailView [英] MapView Balloons to a DetailView

查看:247
本文介绍了图形页面气球到的DetailView的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的MapView有这个样子气球:HTTP://www.$c$cmobiles.com/forum/$c$c-mobile-topic-4180.html(更多汇入作业或同一$少C $ C)
我想:如果我preSS气球1,应该用开放的1信息的详细视图
当我preSS金球奖2,应该用开放的信息详细视图2

我添加了这个逐项叠加:
c.startActivity(新意图(c.getApplicationContext(),QuoteDetail.class));

所以,当我preSS气球1其打开的DetailView与信息1
但是,当我preSS气球2其还与信息1打开的DetailView
我怎样才能改变呢?

下面是我的code:
QuoteDetail:

 私人ImageView的mImageView;
私人TextView的mQuote;
私人TextView的明复;
私人TextView的mEmail;
私人TextView的MTEL;
私人TextView的mWww;
私人诠释mPosition;
私人数据源mDataSource;
@覆盖
保护无效的onCreate(捆绑savedInstanceState){
    super.onCreate(savedInstanceState);
    的setContentView(R.layout.quote_detail);    意向I = getIntent();
    mPosition = i.getIntExtra(位置,0);    mDataSource =新的DataSource();
    mImageView =(ImageView的)findViewById(R.detail.image);
    mQuote =(的TextView)findViewById(R.detail.quote);
    明复=(的TextView)findViewById(R.detail.info);
    mEmail =(的TextView)findViewById(R.detail.email);
    MTEL =(的TextView)findViewById(R.detail.tel);
    mWww =(的TextView)findViewById(R.detail.www);    mImageView.setImageResource(mDataSource.getmPhotoHdPool()获得(mPosition));
    mQuote.setText(getResources()的getString(mDataSource.getmQuotePool()获得(mPosition)));
    mInfo.setText(getResources()的getString(mDataSource.getmInfoPool()获得(mPosition)));
    mEmail.setText(getResources()的getString(mDataSource.getmEmailPool()获得(mPosition)));
    mTel.setText(getResources()的getString(mDataSource.getmTelPool()获得(mPosition)));
    mWww.setText(getResources()的getString(mDataSource.getmWwwPool()获得(mPosition)));
}@覆盖
公共布尔onCreateOptionsMenu(菜单菜单){
   。getMenuInflater()膨胀(R.menu.activity_main,菜单);
    返回true; }    公共布尔onOptionsItemSelected(菜单项项){
        开关(item.getItemId()){
            案例R.id.menu_me:startActivity(新意图(这一点,AboutmeActivity.class));;
                                打破;            案例R.id.menu_settings:startActivity(新意图(这一点,SettingsActivity.class));;
            打破;
        }
        返回true; }

}

QuoteReaderActvity:

 公共类QuoteAdapter延伸BaseAdapter {    私人语境mContext;
    私人LayoutInflater mInflator;
    私人数据源mDataSource;    公共QuoteAdapter(上下文C){
        mContext = C;
        mInflator =(LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        mDataSource =新的DataSource();
    }
    公众诠释的getCount(){
        返回mDataSource.getDataSourceLength();
    }
    公共对象的getItem(INT位置){
        返回的位置;
    }
    众长getItemId(INT位置){
        返回的位置;
    }
    公共查看getView(INT位置,查看convertView,父母的ViewGroup){
        ImageView的缩略图;
        TextView的报价;        如果(convertView == NULL){
            convertView = mInflator.inflate(R.layout.list_item_layout,父母,假);
        }        缩略图=(ImageView的)convertView.findViewById(R.list.thumb);
        thumbnail.setImageResource(mDataSource.getmPhotoPool()获得(位置)。);        报价=(TextView中)convertView.findViewById(R.list.text);
        quote.setText(mDataSource.getmQuotePool()获得(位置)。);
        返回convertView;
    }
}// QuoteReaderActivty类的休息...私人的ListView mListView;/ **当第一次创建活动调用。 * /
@覆盖
公共无效的onCreate(捆绑savedInstanceState){
    super.onCreate(savedInstanceState);
    的setContentView(R.layout.main);
    mListView =(ListView控件)findViewById(R.id.quotes_list);
    mListView.setAdapter(新QuoteAdapter(本));    mListView.setOnItemClickListener(新AdapterView.OnItemClickListener(){
        公共无效onItemClick(适配器视图<>为arg0,ARG1查看,INT位置,
                长ARG3){
            意图I =新意图(QuoteReaderActivity.this,QuoteDetail.class);
            i.putExtra(位置,位置);
            startActivity(ⅰ);
        }
    });
}@覆盖
公共布尔onCreateOptionsMenu(菜单菜单){
   。getMenuInflater()膨胀(R.menu.activity_main,菜单);
    返回true; }
    公共布尔onOptionsItemSelected(菜单项项){
        开关(item.getItemId()){
            案例R.id.menu_me:startActivity(新意图(这一点,AboutmeActivity.class));;
                                打破;            案例R.id.menu_settings:startActivity(新意图(这一点,SettingsActivity.class));;
            打破;
        }
        返回true; }

}

DateSource:

 公开的ArrayList<整数GT; getmPhotoHdPool(){
    返回mDetail;
}公众的ArrayList<整数GT; getmWwwPool(){
    返回mWww;
}公众的ArrayList<整数GT; getmTelPool(){
    返回MTEL;
}公众的ArrayList<整数GT; getmInfoPool(){
    返回明复;
}公众的ArrayList<整数GT; getmEmailPool(){
    返回mEmail;
}
公众的ArrayList<整数GT; getmPhotoPool(){
    返回mList;
}公众的ArrayList<整数GT; getmQuotePool(){
    返回行文字;
}私人无效setupPhotoPool(){
    mList.add(R.drawable.tcs_1);
    mList.add(R.drawable.tcs_1);
    mList.add(R.drawable.tcs_1);
    mList.add(R.drawable.tcs_1);
    mList.add(R.drawable.tcs_1);
    mList.add(R.drawable.tcs_1);
    mList.add(R.drawable.tcs_1);
    mList.add(R.drawable.tcs_1);
    mList.add(R.drawable.tcs_1);
    mList.add(R.drawable.tcs_1);
    mList.add(R.drawable.tcs_1);}私人无效setupQuotePool(){
    mText.add(R.string.quote_1);
    mText.add(R.string.quote_2);
    mText.add(R.string.quote_3);
    mText.add(R.string.quote_4);
    mText.add(R.string.quote_5);
    mText.add(R.string.quote_6);
    mText.add(R.string.quote_7);
    mText.add(R.string.quote_8);
    mText.add(R.string.quote_9);
    mText.add(R.string.quote_10);
    mText.add(R.string.quote_001);
}私人无效setupEmailPool(){
    mEmail.add(R.string.email_1);
    mEmail.add(R.string.email_2);
    mEmail.add(R.string.email_3);
    mEmail.add(R.string.email_4);
    mEmail.add(R.string.email_5);
    mEmail.add(R.string.email_6);
    mEmail.add(R.string.email_7);
    mEmail.add(R.string.email_8);
    mEmail.add(R.string.email_9);
    mEmail.add(R.string.email_10);
    mEmail.add(R.string.email_001);
}私人无效setupTelPool(){
    mTel.add(R.string.tel_1);
    mTel.add(R.string.tel_2);
    mTel.add(R.string.tel_3);
    mTel.add(R.string.tel_4);
    mTel.add(R.string.tel_5);
    mTel.add(R.string.tel_6);
    mTel.add(R.string.tel_7);
    mTel.add(R.string.tel_8);
    mTel.add(R.string.tel_9);
    mTel.add(R.string.tel_10);
    mTel.add(R.string.tel_001);
}私人无效setupWwwPool(){
    mWww.add(R.string.www_1);
    mWww.add(R.string.www_2);
    mWww.add(R.string.www_3);
    mWww.add(R.string.www_4);
    mWww.add(R.string.www_5);
    mWww.add(R.string.www_6);
    mWww.add(R.string.www_7);
    mWww.add(R.string.www_8);
    mWww.add(R.string.www_9);
    mWww.add(R.string.www_10);
    mWww.add(R.string.www_001);
}
私人无效setupPhotoHDPool(){
    mDetail.add(R.drawable.caming_hd_1);
    mDetail.add(R.drawable.caming_hd_1);
    mDetail.add(R.drawable.camping_hd_1);
    mDetail.add(R.drawable.camping_hd_1);
    mDetail.add(R.drawable.camping_hd_1);
    mDetail.add(R.drawable.camping_hd_1);
    mDetail.add(R.drawable.camping_hd_1);
    mDetail.add(R.drawable.camping_hd_1);
    mDetail.add(R.drawable.camping_hd_1);
    mDetail.add(R.drawable.camping_hd_1);
    mDetail.add(R.drawable.camping_hd_1);
    mDetail.add(R.drawable.camping_hd_1);}
       私人无效setupInfoPool(){
            mInfo.add(R.string.detail_1);
            mInfo.add(R.string.detail_2);
            mInfo.add(R.string.detail_3);
            mInfo.add(R.string.detail_4);
            mInfo.add(R.string.detail_5);
            mInfo.add(R.string.detail_6);
            mInfo.add(R.string.detail_7);
            mInfo.add(R.string.detail_8);
            mInfo.add(R.string.detail_9);
            mInfo.add(R.string.detail_10);
            mInfo.add(R.string.detail_001);}公众诠释getDataSourceLength(){
    返回mList.size();
}公共数据源(){
    mList =新的ArrayList<整数GT;();
    多行文字=新的ArrayList<整数GT;();
    明复=新的ArrayList<整数GT;();
    mDetail =新的ArrayList<整数GT;();
    mEmail =新的ArrayList<整数GT;();
    MTEL =新的ArrayList<整数GT;();
    mWww =新的ArrayList<整数GT;();
    setupPhotoPool();
    setupQuotePool();
    setupInfoPool();
    setupPhotoHDPool();
    setupEmailPool();
    setupTelPool();
    setupWwwPool();
}

}


解决方案

我也是用这个链接,的 HTTP://www.$c$cmobiles.com/forum/$c$c-mobile-topic-4180.html 一些codeS是补充说,

MyMap.java类

 公共类MyMap中扩展MapActivity {MapView类MapView类;
清单<&叠加GT; mapOverlays;
可绘制可绘制;
可绘制drawable2;
MyItemizedOverlay itemizedOverlay;
// MyItemizedOverlay itemizedOverlay2;@覆盖
公共无效的onCreate(捆绑savedInstanceState){    super.onCreate(savedInstanceState);
    的setContentView(R.layout.main);    图形页面=(图形页面)findViewById(R.id.mapview);
    mapView.setBuiltInZoomControls(真);    mapOverlays =调用MapView.getOverlays();    //首先覆盖
    绘制= getResources()getDrawable(R.drawable.marker)。
    itemizedOverlay =新MyItemizedOverlay(绘制,图形页面);    的GeoPoint点=新的GeoPoint((INT)(51.5174723 * 1E6)
            (中间体)(-0.0899537 * 1E6));
    OverlayItem overlayItem =新OverlayItem(点,奥马尔Shafique先生
            (在这里不用1));
    itemizedOverlay.addOverlay(overlayItem);    的GeoPoint点2 =新的GeoPoint((INT)(51.515259 * 1E6)
            (中间体)(-0.086623 * 1E6));
    OverlayItem overlayItem2 =新OverlayItem(点2,阿卜杜勒·卡里姆·
            这里有云2);
    itemizedOverlay.addOverlay(overlayItem2);    mapOverlays.add(itemizedOverlay);    //第二覆盖
/ * drawable2 = getResources()getDrawable(R.drawable.marker2);
    itemizedOverlay2 =新MyItemizedOverlay(drawable2,MapView类);    GeoPoint的POINT3 =新的GeoPoint((INT)(51.513329 * 1E6)
            (中间体)(-0.08896 * 1E6));
    OverlayItem overlayItem3 =新OverlayItem(POINT3,阿尔斯兰伊利亚斯
            在这里不用3);
    itemizedOverlay2.addOverlay(overlayItem3);    GeoPoint的point4 =新的GeoPoint((INT)(51.51738 * 1E6)
            (中间体)(-0.08186 * 1E6));
    OverlayItem overlayItem4 =新OverlayItem(point4,阿赫桑
            在这里不用4);
    itemizedOverlay2.addOverlay(overlayItem4);    mapOverlays.add(itemizedOverlay2); * /    最后MapController MC = mapView.getController();
    mc.animateTo(点2);
    mc.setZoom(16);}@覆盖
保护布尔isRouteDisplayed(){
    返回false;
}

}

下面我评论一些code,因为这里添加两个itemizedOverlay,所以一个是评论。

和MyItemizedOverlay.java类

 公共类MyItemizedOverlay扩展BalloonItemizedOverlay< OverlayItem> {私人的ArrayList< OverlayItem> m_overlays =新的ArrayList< OverlayItem>();
私人语境℃;公共MyItemizedOverlay(可绘制defaultMarker,MapView类MapView类){
    超(boundCenter(defaultMarker),图形页面);
    C = mapView.getContext();
}公共无效addOverlay(OverlayItem叠加){
    m_overlays.add(覆盖);
    填充();
}@覆盖
保护OverlayItem createItem中(int i)以{
    返回m_overlays.get(ⅰ);
}@覆盖
公众诠释大小(){
    返回m_overlays.size();
}@覆盖
保护布尔onBalloonTap(INT指数){
    Toast.makeText(C,onBalloonTap为覆盖指数+指数,
            Toast.LENGTH_LONG).show();    如果(指数== 0){
        c.startActivity(新意图(c.getApplicationContext()
                NewActivity.class));
    }其他{
         c.startActivity(新意图(c.getApplicationContext()
         secondNewActivity.class));
    }
    返回true;
}

}

下面修改code


 如果(指数== 0){
        c.startActivity(新意图(c.getApplicationContext()
                NewActivity.class));
    }其他{
         c.startActivity(新意图(c.getApplicationContext()
         secondNewActivity.class));
    }
    返回true;
}


preSS气球二,我们可以改变索引位置。我们可以通过你的意图传递索引位置。

提供您code,只有容易解释。

In my MapView there are shown Balloons like this:http://www.codemobiles.com/forum/code-mobile-topic-4180.html (it´s more or less the same code) What I want: If I press Balloon 1 it should open the Detail View with the Information of 1 and when I press the Ballon 2 it should open the Detail View with the informations of 2

I added this to the Itemized Overlay: c.startActivity(new Intent(c.getApplicationContext(), QuoteDetail.class));

So when I press Balloon 1 its open the DetailView with Information 1 But when I press Balloon 2 its also open the DetailView with Information 1 How can I change this?

Here is my code: QuoteDetail:

private ImageView mImageView;
private TextView mQuote;
private TextView mInfo;
private TextView mEmail;
private TextView mTel;
private TextView mWww;
private int mPosition;
private DataSource mDataSource;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.quote_detail);

    Intent i = getIntent();
    mPosition = i.getIntExtra("position", 0);

    mDataSource = new DataSource();
    mImageView = (ImageView) findViewById(R.detail.image);
    mQuote = (TextView) findViewById(R.detail.quote);
    mInfo = (TextView) findViewById(R.detail.info);
    mEmail = (TextView) findViewById(R.detail.email);
    mTel = (TextView) findViewById(R.detail.tel);
    mWww = (TextView) findViewById(R.detail.www);

    mImageView.setImageResource(mDataSource.getmPhotoHdPool().get(mPosition));
    mQuote.setText(getResources().getString(mDataSource.getmQuotePool().get(mPosition)));
    mInfo.setText(getResources().getString(mDataSource.getmInfoPool().get(mPosition)));
    mEmail.setText(getResources().getString(mDataSource.getmEmailPool().get(mPosition)));
    mTel.setText(getResources().getString(mDataSource.getmTelPool().get(mPosition)));
    mWww.setText(getResources().getString(mDataSource.getmWwwPool().get(mPosition)));
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
   getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;  }





    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case R.id.menu_me:  startActivity(new Intent(this, AboutmeActivity.class));;
                                break;

            case R.id.menu_settings:  startActivity(new Intent(this, SettingsActivity.class));;
            break;
        }
        return true;  }

}

QuoteReaderActvity:

public class QuoteAdapter extends BaseAdapter {

    private Context mContext;
    private LayoutInflater mInflator;
    private DataSource mDataSource;

    public QuoteAdapter(Context c) {
        mContext = c;
        mInflator = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        mDataSource = new DataSource();
    }


    public int getCount() {
        return mDataSource.getDataSourceLength();
    }


    public Object getItem(int position) {
        return position;
    }


    public long getItemId(int position) {
        return position;
    }


    public View getView(int position, View convertView, ViewGroup parent) {
        ImageView thumbnail;
        TextView quote;

        if(convertView == null) {
            convertView = mInflator.inflate(R.layout.list_item_layout, parent, false);
        }

        thumbnail = (ImageView) convertView.findViewById(R.list.thumb);
        thumbnail.setImageResource(mDataSource.getmPhotoPool().get(position));

        quote = (TextView) convertView.findViewById(R.list.text);
        quote.setText(mDataSource.getmQuotePool().get(position));
        return convertView;
    }
}

// Rest of QuoteReaderActivty class...

private ListView mListView;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    mListView = (ListView) findViewById(R.id.quotes_list);
    mListView.setAdapter(new QuoteAdapter(this));

    mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {


        public void onItemClick(AdapterView<?> arg0, View arg1, int position,
                long arg3) {
            Intent i = new Intent(QuoteReaderActivity.this, QuoteDetail.class);
            i.putExtra("position", position);
            startActivity(i);
        }


    });
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
   getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;  }


    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case R.id.menu_me:  startActivity(new Intent(this, AboutmeActivity.class));;
                                break;

            case R.id.menu_settings:  startActivity(new Intent(this, SettingsActivity.class));;
            break;
        }
        return true;  }

}

DateSource:

public ArrayList<Integer> getmPhotoHdPool() {
    return mDetail;
}

public ArrayList<Integer> getmWwwPool() {
    return mWww;
}

public ArrayList<Integer> getmTelPool() {
    return mTel;
}

public ArrayList<Integer> getmInfoPool() {
    return mInfo;
}

public ArrayList<Integer> getmEmailPool() {
    return mEmail;
}
public ArrayList<Integer> getmPhotoPool() {
    return mList;
}

public ArrayList<Integer> getmQuotePool() {
    return mText;
}

private void setupPhotoPool() {
    mList.add(R.drawable.tcs_1);
    mList.add(R.drawable.tcs_1);
    mList.add(R.drawable.tcs_1);
    mList.add(R.drawable.tcs_1);
    mList.add(R.drawable.tcs_1);
    mList.add(R.drawable.tcs_1);
    mList.add(R.drawable.tcs_1);
    mList.add(R.drawable.tcs_1);
    mList.add(R.drawable.tcs_1);
    mList.add(R.drawable.tcs_1);
    mList.add(R.drawable.tcs_1);

}

private void setupQuotePool() {
    mText.add(R.string.quote_1);
    mText.add(R.string.quote_2);
    mText.add(R.string.quote_3);
    mText.add(R.string.quote_4);
    mText.add(R.string.quote_5);
    mText.add(R.string.quote_6);
    mText.add(R.string.quote_7);
    mText.add(R.string.quote_8);
    mText.add(R.string.quote_9);
    mText.add(R.string.quote_10);
    mText.add(R.string.quote_001);


}

private void setupEmailPool() {
    mEmail.add(R.string.email_1);
    mEmail.add(R.string.email_2);
    mEmail.add(R.string.email_3);
    mEmail.add(R.string.email_4);
    mEmail.add(R.string.email_5);
    mEmail.add(R.string.email_6);
    mEmail.add(R.string.email_7);
    mEmail.add(R.string.email_8);
    mEmail.add(R.string.email_9);
    mEmail.add(R.string.email_10);
    mEmail.add(R.string.email_001);


}

private void setupTelPool() {
    mTel.add(R.string.tel_1);
    mTel.add(R.string.tel_2);
    mTel.add(R.string.tel_3);
    mTel.add(R.string.tel_4);
    mTel.add(R.string.tel_5);
    mTel.add(R.string.tel_6);
    mTel.add(R.string.tel_7);
    mTel.add(R.string.tel_8);
    mTel.add(R.string.tel_9);
    mTel.add(R.string.tel_10);
    mTel.add(R.string.tel_001);


}

private void setupWwwPool() {
    mWww.add(R.string.www_1);
    mWww.add(R.string.www_2);
    mWww.add(R.string.www_3);
    mWww.add(R.string.www_4);
    mWww.add(R.string.www_5);
    mWww.add(R.string.www_6);
    mWww.add(R.string.www_7);
    mWww.add(R.string.www_8);
    mWww.add(R.string.www_9);
    mWww.add(R.string.www_10);
    mWww.add(R.string.www_001);


}
private void setupPhotoHDPool() {
    mDetail.add(R.drawable.caming_hd_1);
    mDetail.add(R.drawable.caming_hd_1);
    mDetail.add(R.drawable.camping_hd_1);
    mDetail.add(R.drawable.camping_hd_1);
    mDetail.add(R.drawable.camping_hd_1);
    mDetail.add(R.drawable.camping_hd_1);
    mDetail.add(R.drawable.camping_hd_1);
    mDetail.add(R.drawable.camping_hd_1);
    mDetail.add(R.drawable.camping_hd_1);
    mDetail.add(R.drawable.camping_hd_1);
    mDetail.add(R.drawable.camping_hd_1);
    mDetail.add(R.drawable.camping_hd_1);}


       private void setupInfoPool() {
            mInfo.add(R.string.detail_1);
            mInfo.add(R.string.detail_2);
            mInfo.add(R.string.detail_3);
            mInfo.add(R.string.detail_4);
            mInfo.add(R.string.detail_5);
            mInfo.add(R.string.detail_6);
            mInfo.add(R.string.detail_7);
            mInfo.add(R.string.detail_8);
            mInfo.add(R.string.detail_9);
            mInfo.add(R.string.detail_10);
            mInfo.add(R.string.detail_001);





}

public int getDataSourceLength() {
    return mList.size();
}

public DataSource() {
    mList = new ArrayList<Integer>();
    mText = new ArrayList<Integer>();
    mInfo = new ArrayList<Integer>();
    mDetail = new ArrayList<Integer>();
    mEmail = new ArrayList<Integer>();
    mTel = new ArrayList<Integer>();
    mWww = new ArrayList<Integer>();
    setupPhotoPool();
    setupQuotePool();
    setupInfoPool();
    setupPhotoHDPool();
    setupEmailPool();
    setupTelPool();
    setupWwwPool();




}

}

解决方案

I am also use this link, http://www.codemobiles.com/forum/code-mobile-topic-4180.html some codes are added,

MyMap.java class

public class MyMap extends MapActivity {

MapView mapView;
List<Overlay> mapOverlays;
Drawable drawable;
Drawable drawable2;
MyItemizedOverlay itemizedOverlay;
//MyItemizedOverlay itemizedOverlay2;

@Override
public void onCreate(Bundle savedInstanceState) {

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

    mapView = (MapView) findViewById(R.id.mapview);
    mapView.setBuiltInZoomControls(true);

    mapOverlays = mapView.getOverlays();

    // first overlay
    drawable = getResources().getDrawable(R.drawable.marker);
    itemizedOverlay = new MyItemizedOverlay(drawable, mapView);

    GeoPoint point = new GeoPoint((int) (51.5174723 * 1E6),
            (int) (-0.0899537 * 1E6));
    OverlayItem overlayItem = new OverlayItem(point, "Umar Shafique",
            "(here goes 1)");
    itemizedOverlay.addOverlay(overlayItem);

    GeoPoint point2 = new GeoPoint((int) (51.515259 * 1E6),
            (int) (-0.086623 * 1E6));
    OverlayItem overlayItem2 = new OverlayItem(point2, "Abdul Karim",
            "here goes 2");
    itemizedOverlay.addOverlay(overlayItem2);

    mapOverlays.add(itemizedOverlay);

    // second overlay
/*  drawable2 = getResources().getDrawable(R.drawable.marker2);
    itemizedOverlay2 = new MyItemizedOverlay(drawable2, mapView);

    GeoPoint point3 = new GeoPoint((int) (51.513329 * 1E6),
            (int) (-0.08896 * 1E6));
    OverlayItem overlayItem3 = new OverlayItem(point3, "Arslan Ilyas",
            "here goes 3");
    itemizedOverlay2.addOverlay(overlayItem3);

    GeoPoint point4 = new GeoPoint((int) (51.51738 * 1E6),
            (int) (-0.08186 * 1E6));
    OverlayItem overlayItem4 = new OverlayItem(point4, "Ahsan",
            "here goes 4");
    itemizedOverlay2.addOverlay(overlayItem4);

    mapOverlays.add(itemizedOverlay2);*/

    final MapController mc = mapView.getController();
    mc.animateTo(point2);
    mc.setZoom(16);

}

@Override
protected boolean isRouteDisplayed() {
    return false;
}

}

Here I comment some code, because here add two itemizedOverlay , so one is comment.

and MyItemizedOverlay.java class

public class MyItemizedOverlay extends BalloonItemizedOverlay<OverlayItem> {

private ArrayList<OverlayItem> m_overlays = new ArrayList<OverlayItem>();
private Context c;

public MyItemizedOverlay(Drawable defaultMarker, MapView mapView) {
    super(boundCenter(defaultMarker), mapView);
    c = mapView.getContext();
}

public void addOverlay(OverlayItem overlay) {
    m_overlays.add(overlay);
    populate();
}

@Override
protected OverlayItem createItem(int i) {
    return m_overlays.get(i);
}

@Override
public int size() {
    return m_overlays.size();
}

@Override
protected boolean onBalloonTap(int index) {
    Toast.makeText(c, "onBalloonTap for overlay index " + index,
            Toast.LENGTH_LONG).show();

    if (index == 0) {
        c.startActivity(new Intent(c.getApplicationContext(),
                NewActivity.class));
    } else {
         c.startActivity(new Intent(c.getApplicationContext(),
         secondNewActivity.class));
    }
    return true;
}

}

Here modification code

  if (index == 0) {
        c.startActivity(new Intent(c.getApplicationContext(),
                NewActivity.class));
    } else {
         c.startActivity(new Intent(c.getApplicationContext(),
         secondNewActivity.class));
    }
    return true;
}

press balloon two , we can change index position. we can pass index position through your intent.

provide your code , that only Easy the Explain.

这篇关于图形页面气球到的DetailView的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆