【问题标题】:Android: creating a Custom view as Marker in Google Maps APIAndroid:在 Google Maps API 中创建自定义视图作为标记
【发布时间】:2017-02-14 18:24:37
【问题描述】:

奇怪的是,我在这里的其他任何地方都没有看到正确的答案。这可能是不可能的,但我仍在尝试。

在适用于 Android 的最新 Google Maps API 版本中,我想创建一个自定义视图,一旦您单击它就会像这样放置在标记上:

Map Preview

当然,我希望能够与其内部组件交互,即列表视图。 即使您在地图上四处移动,菜单仍会显示并保持连接到标记。 从我所见,您只能在地图上渲染位图。真的没有解决办法吗?

提前致谢

【问题讨论】:

    标签: java android google-maps marker


    【解决方案1】:

    使用Info window 在谷歌地图上显示自定义布局。

    这是来自document 的示例代码。

    public class MarkerDemoActivity extends AppCompatActivity implements
            OnInfoWindowClickListener,
            OnMapReadyCallback {
    
        private GoogleMap mMap;
    
        @Override
        public void onMapReady(GoogleMap map) {
            mMap = map;
            // Add markers to the map and do other map setup.
            ...
            // Set a listener for info window events.
            mMap.setOnInfoWindowClickListener(this);
        }
    
        @Override
        public void onInfoWindowClick(Marker marker) {
            Toast.makeText(this, "Info window clicked",
                    Toast.LENGTH_SHORT).show();
        }
    }
    

    但是,信息窗口不是实时视图,而是将视图呈现为 图像到地图上。结果,您在视图上设置的任何侦听器都是 无视,您无法区分各种点击事件 视图的一部分。建议不要放置交互组件 — 例如按钮、复选框或文本输入 — 在您的自定义 信息窗口。

    【讨论】:

    • 这是一个不错的 UI 组件,但不幸的是我需要能够与列表视图交互。还是谢谢
    猜你喜欢
    • 2017-04-10
    • 1970-01-01
    • 1970-01-01
    • 2011-07-07
    • 2013-08-26
    • 1970-01-01
    • 2014-02-25
    • 2012-02-08
    • 2018-09-10
    相关资源
    最近更新 更多