【问题标题】:How to get the values of marker?如何获取标记的值?
【发布时间】:2014-05-31 17:51:15
【问题描述】:

您好,有一个应用程序创建新手想知道是否有任何方法可以将选定标记的信息获取到另一个活动。?

已经阅读了几篇绕开重点的文章,但没有阅读清楚地了解该场景的文章。 对正确方向的任何帮助都会很棒。

【问题讨论】:

  • 你能更清楚地解释一下你的用例吗?
  • 有一个活动,其中谷歌地图显示带有标记。想要获取标记的详细信息到另一个具有文本视图小部件的活动。

标签: android google-maps android-fragments map android-maps-v2


【解决方案1】:

您需要将InfoWindowAdapter 设置为具有getInfoWindow 处理程序和Marker 参数的地图。示例:

GoogleMap map;
map.setInfoWindowAdapter(new GoogleMap.InfoWindowAdapter() {
    @Override
    public View getInfoWindow(Marker marker) {
        //marker is selected marker
        View popup = getLayoutInflater().inflate(R.layout.somePopupXml, null);
        //code to fill popup with data
        return popup;
    }

    @Override
    public View getInfoContents(Marker marker) {
        return null;
    }
});

【讨论】:

    【解决方案2】:

    标记是最终类,您不能与您的类一起派生,因此您有两个选择:将哈希图与您的对象-标记对象配对使用,当标记上有 onClik 时选择正确的对象并将 ID 发送到第二个活动或在信息窗口中使用您的 ID。在第二种情况下,当单击标记时,您可以重新解析信息窗口,获取 id 并将其发送到第二个活动。

    【讨论】:

      【解决方案3】:

      我不确定这是否会回答您的问题,因为我也是第一次在 android 中使用地图,但是您可以在单击标记后将单击标记的标题 ETC 分配给变量。

      '@Override
          public boolean onMarkerClick(final Marker marker) {
              // TODO Auto-generated method stub
              title = marker.getTitle();              
              current=marker.getPosition();
      
          return true;
          }'
      

      如果您需要多个标记,您可以执行 if 语句并将位置保存到一个新变量中,然后将其递增。

      【讨论】:

        猜你喜欢
        • 2018-06-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-06
        • 1970-01-01
        • 2020-04-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多