Android在对话框中启动谷歌地图意图

时间:2012-10-08 20:15:51

标签: android google-maps-api-3 dialog itemizedoverlay

我正在使用带有叠加项目的Google地图API,并希望能够在用户点击这些叠加层时获取路线。

我想将此链接到对话框的中间按钮:

// Middle button
    dialog.setNeutralButton("Directions",
            new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {

                    Intent intent = new Intent(android.content.Intent.ACTION_VIEW, 
                            Uri.parse("http://maps.google.com/maps?saddr=20.344,34.34&daddr=20.5666,45.345"));
                    intent.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");

                    startActivity(intent);

                }
            });

我收到以下错误“方法startActivity(Intent)未定义类型new DialogInterface.OnClickListener(){}”

这里有几个答案,但我不能让它们中的任何一个起作用。我试过创建一个构造函数并调用getContext()。

我不确定是不是因为我的班级是:

public class ItemizedOverlayLayoutActivity extends ItemizedOverlay {

非常感谢任何帮助。

由于

1 个答案:

答案 0 :(得分:2)

在类ItemizedOverlayLayoutActivity的构造函数中添加一个参数Context:

private Context context;
public MyItemizedNewOverlay(Drawable defaultMarker, Context context) {
    //...
    this.context = context;
}

在您创建对话框之前添加:

final Context fcontext = context;

然后在对话框中间按钮中使用:

fcontext.startActivity(intent);
祝你好运

相关问题