0

在我的 android 应用程序中,我有一个用于放置在地图上的标记的信息窗口。我想做这些事情:

  1. 使默认标记更大(现在太小了)
  2. 当信息窗口出现时,其中的文本使宽度过长。有没有办法可以设置它的最大宽度?
  3. 如何增加标题和文本的字体大小?

谁能告诉我如何做到这一点?

谢谢。

4

2 回答 2

1

也许有点晚了,但您需要创建一个新的自定义适配器,您可以在这里查看:如何更改 Google 地图标记窗口信息

 mMap.setInfoWindowAdapter(new GoogleMap.InfoWindowAdapter() {

        @Override
        public View getInfoWindow(com.google.android.gms.maps.model.Marker arg0) {
            return null;
        }

        @Override
        public View getInfoContents(com.google.android.gms.maps.model.Marker marker) {
            LayoutInflater inflater = (LayoutInflater) getApplicationContext().getSystemService
                    (Context.LAYOUT_INFLATER_SERVICE);
            View mView = null;
            //using the id, you can store multiple types of markers on List's and change the layout
            if (marker.getId().equals(end.getId())) {
                mView = inflater.inflate(R.layout.custom_info_window, (ViewGroup) findViewById(R.id.map), false);
                ((TextView) mView.findViewById(R.id.txtTitle)).setText(marker.getTitle());
            }else{
                mView = inflater.inflate(R.layout.normal_info_window, (ViewGroup) findViewById(R.id.map), false);
                ((TextView) mView.findViewById(R.id.txtTitle)).setText(marker.getTitle());
                ((TextView) mView.findViewById(R.id.txtDescription)).setText(marker.getSnippet());
            }
            return mView;
        }
    });
    mMap.setOnInfoWindowClickListener(new GoogleMap.OnInfoWindowClickListener() {
        @Override
        public void onInfoWindowClick(Marker marker) {
                 //do whatever you need
        }
    });

在自定义视图中,您可以修改字体的大小和其他内容,对于第一个点,可以在 MarkerOptions.setIcon 上修改标记图标,您可以在其中使用资产中的一个。

于 2016-12-15T15:12:54.883 回答
0

1:在地图上添加Marker时,可以在MarkerOptions. 制作自己的图标并使用它。

2 & 3:onMarkerClickListener在你的谷歌地图上设置一个。在回调中,您可以创建并在地图上显示自己的信息窗口视图(只需确保从onMarkerClick()回调中返回 false)

于 2013-08-05T02:55:02.003 回答