如何通过触摸Android谷歌地图上的屏幕获取地址信息

时间:2012-05-14 09:36:06

标签: java android google-maps touchscreen

我在这个网站上尝试了所有答案,但没有一个有效。我正在使用android SDK r_18并在android 2.2上开发应用程序。我仍然不知道为什么示例不起作用。

如果我将mapView.setOnTouchListener(this);添加到onCreate()功能,则以下工作一次。当函数返回false时,它不再起作用。

public boolean onTouch(View v, MotionEvent event) {     
    if (event.getAction() == 1) {                
        GeoPoint p = mapView.getProjection().fromPixels(
            (int) event.getX(),
            (int) event.getY());
            showToast("if 11");
            mapCon = mapView.getController();
            mapCon.animateTo(p);
            //mapCon.setZoom(mapCon.zoo);
    }       
    else
    if (event.getAction() == 2)
    {
        showToast("if 22");
      GeoPoint p = mapView.getProjection().fromPixels(
      (int) event.getX(),
      (int) event.getY());
      mapCon = mapView.getController();
      mapCon.animateTo(p);
    }
    else
        if (event.getAction() == 0)
        {
            showToast("if 00");
        }

    return (super.onTouchEvent(event));

}

3 个答案:

答案 0 :(得分:1)

因为你的问题中没有足够的信息说明你已经在做什么以及你还有什么要做的事情,以及你正在使用的语言我会把这些信息提出来,直到你把这些信息放在你的问题中。

我最近使用谷歌地图创建了一个Android应用程序作为其中的一部分并使用this文章来使谷歌地图正常工作,所以我可以告诉你,如果你在你的应用程序中使用Javascript,这样可以看看在这篇文章中,它应该对你有帮助

答案 1 :(得分:0)

要获得地址,您必须使用GeoCoder。现在,当你使用GeoCoder时,android的其他API会出现一些错误。

使用2.1使用GeoCoder测试内容

答案 2 :(得分:0)

我解决了这个问题。

我使用的方法是“mapView.setBuiltInZoomControls(true);”

当我删除它时,我开始使用触摸屏。