Java 带有多行信息窗口的地图标记
以下代码中的文本未完全显示在信息窗口中(如下所示): 我希望它看起来像这样: 我发现了,但我不知道它是好是坏 如何获取信息窗口以显示多行文字?您可以创建一个包含多行文字的窗口 要做到这一点,您只需在Java 带有多行信息窗口的地图标记,java,google-maps,android-studio,marker,Java,Google Maps,Android Studio,Marker,以下代码中的文本未完全显示在信息窗口中(如下所示): 我希望它看起来像这样: 我发现了,但我不知道它是好是坏 如何获取信息窗口以显示多行文字?您可以创建一个包含多行文字的窗口 要做到这一点,您只需在活动中实现GoogleMap.InfoWindowAdapter,并为信息窗口充气一个自定义视图。然后调用谷歌地图#setInfoWindowAdapter public class MapActivity extends AppCompatActivity imeplements OnMapRe
活动中实现GoogleMap.InfoWindowAdapter
,并为信息窗口充气一个自定义视图。然后调用谷歌地图#setInfoWindowAdapter
public class MapActivity extends AppCompatActivity imeplements OnMapReadyCallback, GoogleMap.InfoWindowAdapter {
private GoogleMap mGoogleMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstaceState);
setContentView(r.layout.activity_map);
SupportMapFragment fragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
fragment.getMapAsync(this);
}
@Override
public void onMapReady(GoogleMap googleMap) {
googleMap.setInfoWindowAdapter(this);
mGoogleMap = googleMap;
}
@Override
public View getInfoWindow(Marker marker) {
return null; // Use default info window background
}
@Override
public View getInfoContents(Marker marker) {
View view = getLayoutInflater().inflate(R.layout.info_window_multiline, null);
TextView titleTextView = (TextView) view.findViewById(R.id.title);
TextView snippetTextView = (TextView) view.findViewById(R.id.snippet);
titleTextView.setText(marker.getTitle());
snippetTextView.setText(marker.getSnippet());
return view;
}
}
此外,适用于使用或开发框架的应用程序;不适用于本机Android开发。这是为了本土发展;你似乎已经在利用它了。不要混淆两者
public class MapActivity extends AppCompatActivity imeplements OnMapReadyCallback, GoogleMap.InfoWindowAdapter {
private GoogleMap mGoogleMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstaceState);
setContentView(r.layout.activity_map);
SupportMapFragment fragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
fragment.getMapAsync(this);
}
@Override
public void onMapReady(GoogleMap googleMap) {
googleMap.setInfoWindowAdapter(this);
mGoogleMap = googleMap;
}
@Override
public View getInfoWindow(Marker marker) {
return null; // Use default info window background
}
@Override
public View getInfoContents(Marker marker) {
View view = getLayoutInflater().inflate(R.layout.info_window_multiline, null);
TextView titleTextView = (TextView) view.findViewById(R.id.title);
TextView snippetTextView = (TextView) view.findViewById(R.id.snippet);
titleTextView.setText(marker.getTitle());
snippetTextView.setText(marker.getSnippet());
return view;
}
}