0

私がそれを検索したとき、私は解決策としてこれらのリンクを見つけました:

http://android-codes-examples.blogspot.in/2011/04/google-map-example-in-android-with-info.html

https://github.com/jgilfelt/android-mapviewballoons

しかし、私は両方とも複雑であることに気づきました。

これを行う簡単な方法があるかどうか疑問に思います。レイアウトを膨らませて、クリックしたマーカーだけにポップアップとして表示するようなものです。

現在、ユーザーがマーカーをタップしたときに情報を表示するためにトーストだけを使用しています。しかし、主な問題は、このトースト(または他のレイアウト)を、デフォルトのトースト位置ではなく、クリックされたマーカーのすぐ上に表示したいということです。

ありがとうございました

4

1 に答える 1

0

これを試して、要件に応じて変更してください:

@SuppressWarnings({ "deprecation" })
    @Override
    protected boolean onTap(int index)
    {
        CustomView customView=new CustomView(MyMap.this);
        absMap.removeAllViews();
        absMap.addView(customView);
        customView.setBackgroundResource(R.drawable.maplocation1);
        customView.setVisibility(View.INVISIBLE);

        customView.removeAllViews();

          absMap.invalidate();
          customView.bringToFront();
          customView.setVisibility(View.VISIBLE);
          TextView tv2=new TextView(MyMap.this);
        //  tv2.setText(overlayItemList.get(index).getTitle());
          tv2.setWidth(170);
          tv2.setSingleLine(true);
          tv2.setEllipsize(TruncateAt.END);
          tv2.setSingleLine(true);
          tv2.setSingleLine();

          tv2.setTextColor(Color.WHITE);
          tv2.setTextSize(14);
          tv2.setTypeface(Typeface.DEFAULT_BOLD);

          TextView tv1=new TextView(MyMap.this);
          tv1.setSingleLine();
          tv1.setWidth(170);
          tv1.setSingleLine(true);
          tv1.setEllipsize(TruncateAt.END);
          tv1.setSingleLine(true);
          tv2.setText(overlayItemList.get(index).getSnippet());


          tv1.setTextColor(Color.WHITE);
          tv1.setTextSize(12);
          tv1.setTypeface(Typeface.DEFAULT_BOLD);
          customView.setTag(overlayItemList.get(index).getTitle());
          customView.addView(tv2, new AbsoluteLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT,10,5));
          customView.addView(tv1, new AbsoluteLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT,10,25));
          customView.setLayoutParams(new MapView.LayoutParams( 250, 100, overlayItemList.get(index).getPoint(),-125,-137, MapView.LayoutParams.MODE_MAP|MapView.LayoutParams.TOP_LEFT));
          customView.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) 
            {
            }
        });


    }
于 2012-08-29T09:32:27.280 に答える