私の Android アプリには、地図上に配置したマーカーの情報ウィンドウがあります。私はこれらのことをしたい:
- デフォルトのマーカーを大きくします (今は小さすぎます)
- 情報ウィンドウが表示されると、その中のテキストが幅を広げすぎています。最大幅を設定する方法はありますか?
- タイトルとテキストのフォント サイズを大きくするにはどうすればよいですか?
誰でもこれを行う方法を教えてもらえますか?
ありがとう。
私の Android アプリには、地図上に配置したマーカーの情報ウィンドウがあります。私はこれらのことをしたい:
誰でもこれを行う方法を教えてもらえますか?
ありがとう。
少し遅れているかもしれませんが、ここで確認できる新しいカスタム アダプターを作成する必要があります: 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 でマーカー アイコンを変更できます。
1: マーカーをマップに追加すると、 にアイコンを設定できますMarkerOptions
。独自のアイコンを作成し、それを使用します。
2 & 3: onMarkerClickListener
GoogleMap に設定します。コールバックでは、マップ上に独自の情報ウィンドウ ビューを作成して表示できます (コールバックから必ず false を返すようにしてくださいonMarkerClick()
) 。