【问题标题】:Android ItemizedOverlay onTap information onto TextViewAndroid ItemizedOverlay onTap 信息到 TextView
【发布时间】:2012-03-26 04:41:13
【问题描述】:

我基本上有一组地理点,我将它们作为 ItemizedOverlays 通常,当您单击它们时 图标, 标题 Message(Snippet)以AlertDialog的形式出现

我希望改变这一点,当 onTap 函数被执行时,我希望 图标 标题 消息显示在地图顶部的 TextView 上

我猜我错过了一些非常简单的东西,但如果有人可以请帮助我将非常感激

XML:

<TextView
    android:id="@+id/locationInfo"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:background="#000000"
    android:text="Choose a Flag!" />

主活动:

 GeoPoint point2 = new GeoPoint((int)(51.598707*1E6), (int)(-0.393416*1E6));
 OverlayItem overlayitem2 = new OverlayItem(point2, "Location 2" , "2A Pinner");
 itemizedOverlay.addOverlay(overlayitem2);

ItemizedOverlay:

import java.util.ArrayList;

import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.graphics.drawable.Drawable;
import android.view.View;
import android.widget.TextView;

import com.google.android.maps.ItemizedOverlay;
import com.google.android.maps.OverlayItem;

@SuppressWarnings("rawtypes")
public class NewItemizedOverlay extends ItemizedOverlay {

private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>();
Context mContext;

public NewItemizedOverlay(Drawable defaultMarker) {
    super(boundCenterBottom(defaultMarker));
}

public NewItemizedOverlay(Drawable defaultMarker, Context context) 
{
    super(boundCenterBottom(defaultMarker));
    mContext = context;
}

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

@Override
protected OverlayItem createItem(int i) {
    // TODO Auto-generated method stub
    return mOverlays.get(i);
}

@Override
public int size() {
    // TODO Auto-generated method stub
    return mOverlays.size();
}

@Override
protected boolean onTap(int index) {
  OverlayItem item = mOverlays.get(index);

  mOverlays.get(index).getTitle(); // i was messing around with this 
  mOverlays.get(index).getSnippet(); // and this lol


  AlertDialog.Builder dialog = new AlertDialog.Builder(mContext);
  dialog.setIcon(android.R.drawable.ic_dialog_info);
  dialog.setTitle(item.getTitle());
  dialog.setMessage(item.getSnippet());
  dialog.setPositiveButton("OK", new DialogInterface.OnClickListener() {

    @Override
    public void onClick(DialogInterface dialog, int which) {
        // TODO Auto-generated method stub

    }
});
  dialog.show();
  return true;
}

}

【问题讨论】:

    标签: android maps


    【解决方案1】:

    没关系,我想通了

    基本上一旦我在 main.xml 中创建了 TextView

    我需要做的就是通过 id 查找视图来引用 TextView

    然后简单地说:

    viewName.setText(item.getTitle());
    

    简单 ^^

    【讨论】:

      猜你喜欢
      • 2011-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多