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: マーカーをマップに追加すると、 にアイコンを設定できますMarkerOptions。独自のアイコンを作成し、それを使用します。

2 & 3: onMarkerClickListenerGoogleMap に設定します。コールバックでは、マップ上に独自の情報ウィンドウ ビューを作成して表示できます (コールバックから必ず false を返すようにしてくださいonMarkerClick()) 。

于 2013-08-05T02:55:02.003 に答える