在我的 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:在地图上添加Marker时,可以在MarkerOptions
. 制作自己的图标并使用它。
2 & 3:onMarkerClickListener
在你的谷歌地图上设置一个。在回调中,您可以创建并在地图上显示自己的信息窗口视图(只需确保从onMarkerClick()
回调中返回 false)