当前位置: 首页 > 知识库问答 >
问题:

为android google-maps-api-2中的自定义标记定义一个可点击/可触摸区域

楚宪
2023-03-14
      var shape = {
      coords: [1, 1, 1, 20, 18, 20, 18, 1],
      type: 'poly'
    };
    for (var i = 0; i < beaches.length; i++) {
      var beach = beaches[i];
      var marker = new google.maps.Marker({
        position: {lat: beach[1], lng: beach[2]},
        map: map,
        icon: image,
        shape: shape,
        title: beach[0],
        zIndex: beach[3]
      });
    }

带问题的我的地图截图

向Taskmanager致以亲切的问候

共有1个答案

魏成济
2023-03-14

您需要注册onInfowindowClickListenerCallback。在GoogleMap中有一个方法:

map.setOnInfoWindowClickListener(new OnInfoWindowClickListener()
        {
            @Override
            public void onInfoWindowClick(Marker arg0) {
                //Handle your click here                
        }
        }); 

更新:

// Set a listener for marker click.    
mMap.setOnMarkerClickListener(this);

/** Called when the user clicks a marker. */
@Override
public boolean onMarkerClick(final Marker marker) {

    // Retrieve the data from the marker.
    Integer clickCount = (Integer) marker.getTag();

    // Check if a click count was set, then display the click count.
    if (clickCount != null) {
        clickCount = clickCount + 1;
        marker.setTag(clickCount);
        Toast.makeText(this,
                       marker.getTitle() +
                       " has been clicked " + clickCount + " times.",
                       Toast.LENGTH_SHORT).show();
    }

    // Return false to indicate that we have not consumed the event and that we wish
    // for the default behavior to occur (which is for the camera to move such that the
    // marker is centered and for the marker's info window to open, if it has one).
    return false;
}

有关更多详细信息,请参阅标记。还要确保用于标记的图像中没有填充。

 类似资料:
  • Photoshop 目前具备现代式用户体验,可提供强大的触控功能、更新的用户界面,以及可自定义的工具栏和工作区。 触控工作区和手势 如果您拥有 Photoshop 支持的 Windows 设备,例如 Surface Pro,则可以在使用其中安装的 Photoshop 时运用这些触控手势。 双指平移 在画布上向任意方向移动双指,而不改变双指间的距离或连线角度。这样可以平移画布视图。 双指平移和缩放

  • 我想用自定义标记制作地图。在APIV2中,我可以为标记设置图标、标题等。但我想在一开始就显示带有标记的标题。现在标题显示只有当我磁带标记。在v1中是覆盖,但在v2中我没有发现任何类似的东西。 编辑:也许我说得不够清楚。API中类似的东西只对一个标记起作用。我无法同时显示所有标记的信息窗口。无论如何,我需要显示我的所有标记的标题,而不等待用户将点击它。

  • 我正在使用angularjs谷歌地图,我想自定义风格的信息,这是显示在一个标记点击。ui-gmap-window标记确实有自定义选项,它单独工作也很好。然而,当我试图在标记标记(ui-gmap-markers)中使用它时,它不会在标记点击上显示自定义样式的infoWindow。plunkr清楚地解释了这个问题。

  • 上面的代码在所有桌面浏览器上都能正常工作,但在所有移动浏览器上都失败了。但是,如果我移除自定义图形(即'icon'属性),它可以正常工作。 有什么想法吗?我在拔头发!

  • 例如,我在语法中定义了几个lexer规则: 我需要以某种方式标记关键字(“int”、“float”和其他),当我使用TokenStream获取令牌时,我可以通过一些自定义符号对其进行过滤。 有可能吗? 现在我只看到一种方法——将必要的词汇组合成某种规则。 使现代化 我尝试应用下面第一个答案的第一个选项,但遇到了下一个问题:我得到一个错误:“TOKENNAME不是可识别的令牌名称” 因为这是一个问题