Google Maps Android的自定义信息窗口

用户名

我想让点击custom info window出现marker

我希望它是这样的:

ImageView

TextView

TextView

TextView

Button  Button

我看到了其他人对此的提问,但仍然令人困惑。

库尔蒂斯92

关于ImageView和TextView,请尝试以下操作:

设置信息窗口布局:infowindowlayout.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="#FFFFFF" >

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TextView" />

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TextView" />

</LinearLayout>

在您的MapActivity中(这是一个标记的示例,但是您也可以将其用于其他标记):

public class MapActivity extends Activity  {
private GoogleMap mMap;
private Marker Somewhere;
private int markerclicked;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_map);
...
...
final LatLng somewhere = new LatLng(..., ...);

Somewhere=mMap.addMarker(new MarkerOptions()
.position(somewhere)
.title("YOUR TITLE")
.snippet("INFO")
.icon(BitmapDescriptorFactory.fromResource(R.drawable.pin)));

...
...
...

mMap.setInfoWindowAdapter(new InfoWindowAdapter() {

        // Use default InfoWindow frame
        @Override
        public View getInfoWindow(Marker arg0) {
            return null;
        }

        // Defines the contents of the InfoWindow
        @Override
        public View getInfoContents(Marker arg0) {

            // Getting view from the layout file infowindowlayout.xml
            View v = getLayoutInflater().inflate(R.layout.infowindowlayout, null);

            LatLng latLng = arg0.getPosition();

            ImageView im = (ImageView) v.findViewById(R.id.imageView1);
            TextView tv1 = (TextView) v.findViewById(R.id.textView1);
            TextView tv2 = (TextView) v.findViewById(R.id.textView2);
            String title=arg0.getTitle();
            String informations=arg0.getSnippet();

            tv1.setText(title);
            tv2.setText(informations);

            if(onMarkerClick(arg0)==true && markerclicked==1){
               im.setImageResource(R.drawable.yourdrawable);
              }


            return v;

        }
    });
}

public boolean onMarkerClick(final Marker marker) {

if (marker.equals(Somewhere)) 
  {
      markerclicked=1;
      return true;
  }
return false; 
}

关于按钮,图像按钮等,是没有办法的。文件说:

如上一节中有关信息窗口的部分所述,信息窗口不是实时视图,而是将视图作为图像渲染到地图上。结果,您在视图上设置的所有侦听器都将被忽略,并且您无法区分视图各个部分上的单击事件。建议您不要在自定义信息窗口中放置交互式组件,例如按钮,复选框或文本输入。

无论如何,似乎有解决方案,请在此处查看此答案我不知道它是否适用于我的代码,但似乎可以使用按钮和图像按钮。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Google Maps:多个自定义HTML标记

来自分类Dev

Google Maps自定义叠加层位置移动

来自分类Dev

Google Maps标准样式的自定义按钮

来自分类Dev

自定义Google Maps叠加层,如迪士尼地图

来自分类Dev

如何更改Google Map v2 android中的信息窗口(自定义)位置?

来自分类Dev

iOS自定义信息窗口Google Maps SDK 1.7.2

来自分类Dev

通过ClusterManager Google Maps Android显示的隐藏信息窗口

来自分类Dev

为JSON地图中的数据设置Google Maps标记的自定义信息窗口

来自分类Dev

使标记带有自定义信息,以供单击时使用(Android,Google Maps v2)

来自分类Dev

Google Maps API-获取我的自定义地图

来自分类Dev

标记信息窗口中的Android Google Maps HTML

来自分类Dev

Android版Google Maps的自定义InfoWindow问题

来自分类Dev

Google Maps API-激活自定义标记的信息窗口

来自分类Dev

Android-Google Maps V2-将自定义信息窗口添加到从数组创建的标记中

来自分类Dev

Google Maps自定义叠加点击事件

来自分类Dev

Google Maps API自定义图标标记不会显示

来自分类Dev

Google Maps自定义标签的x和y位置

来自分类Dev

在Google Map中创建自定义信息窗口

来自分类Dev

如何在Google Maps自定义信息框上定位元素?

来自分类Dev

在Google Scatter中创建自定义信息窗口

来自分类Dev

如何更改Google Map v2 android中的信息窗口(自定义)位置?

来自分类Dev

Google Maps API信息窗口

来自分类Dev

为JSON地图中的数据设置Google Maps标记的自定义信息窗口

来自分类Dev

自定义Google Maps JavaScript API 3信息窗口

来自分类Dev

异步Google Maps信息窗口

来自分类Dev

无法设置Google地图的自定义信息窗口

来自分类Dev

Android Google Map自定义信息窗口错误突然关闭

来自分类Dev

Android Google Maps:渐变颜色的自定义标记

来自分类Dev

VueJS 单文件组件中的 Google Maps API“自定义弹出窗口”示例代码中断

Related 相关文章

  1. 1

    Google Maps:多个自定义HTML标记

  2. 2

    Google Maps自定义叠加层位置移动

  3. 3

    Google Maps标准样式的自定义按钮

  4. 4

    自定义Google Maps叠加层,如迪士尼地图

  5. 5

    如何更改Google Map v2 android中的信息窗口(自定义)位置?

  6. 6

    iOS自定义信息窗口Google Maps SDK 1.7.2

  7. 7

    通过ClusterManager Google Maps Android显示的隐藏信息窗口

  8. 8

    为JSON地图中的数据设置Google Maps标记的自定义信息窗口

  9. 9

    使标记带有自定义信息,以供单击时使用(Android,Google Maps v2)

  10. 10

    Google Maps API-获取我的自定义地图

  11. 11

    标记信息窗口中的Android Google Maps HTML

  12. 12

    Android版Google Maps的自定义InfoWindow问题

  13. 13

    Google Maps API-激活自定义标记的信息窗口

  14. 14

    Android-Google Maps V2-将自定义信息窗口添加到从数组创建的标记中

  15. 15

    Google Maps自定义叠加点击事件

  16. 16

    Google Maps API自定义图标标记不会显示

  17. 17

    Google Maps自定义标签的x和y位置

  18. 18

    在Google Map中创建自定义信息窗口

  19. 19

    如何在Google Maps自定义信息框上定位元素?

  20. 20

    在Google Scatter中创建自定义信息窗口

  21. 21

    如何更改Google Map v2 android中的信息窗口(自定义)位置?

  22. 22

    Google Maps API信息窗口

  23. 23

    为JSON地图中的数据设置Google Maps标记的自定义信息窗口

  24. 24

    自定义Google Maps JavaScript API 3信息窗口

  25. 25

    异步Google Maps信息窗口

  26. 26

    无法设置Google地图的自定义信息窗口

  27. 27

    Android Google Map自定义信息窗口错误突然关闭

  28. 28

    Android Google Maps:渐变颜色的自定义标记

  29. 29

    VueJS 单文件组件中的 Google Maps API“自定义弹出窗口”示例代码中断

热门标签

归档