首页 文章

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

提问于
浏览
0

我正在使用带有叠加项目的谷歌 Map 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() .

我不确定是不是因为我的 class 是:

public class ItemizedOverlayLayoutActivity extends ItemizedOverlay {

任何帮助非常感谢 .

谢谢

1 回答

  • 2

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

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

    在创建对话框之前添加:

    final Context fcontext = context;
    

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

    fcontext.startActivity(intent);
    

    祝好运

相关问题