Android marker.showInfoWindow()使用google map API V2 Lite模式无效
Google doc非常清楚在Lite模式下使用带有标记的showInfoWindow: 如果设置标记的标题,将显示默认信息窗口 当用户点击标记时出现。您可以显示信息窗口 通过在标记上调用showInfoWindow以编程方式进行。你可以 还可以通过InfoWindowAdapter界面创建自定义信息窗口。 以下是我代码的一部分:Android marker.showInfoWindow()使用google map API V2 Lite模式无效,android,google-maps,Android,Google Maps,Google doc非常清楚在Lite模式下使用带有标记的showInfoWindow: 如果设置标记的标题,将显示默认信息窗口 当用户点击标记时出现。您可以显示信息窗口 通过在标记上调用showInfoWindow以编程方式进行。你可以 还可以通过InfoWindowAdapter界面创建自定义信息窗口。 以下是我代码的一部分: @Override public void onMapReady(GoogleMap googleMap) { googleMap.setOnMapClic
@Override
public void onMapReady(GoogleMap googleMap) {
googleMap.setOnMapClickListener(new GoogleMap.OnMapClickListener() {
@Override
public void onMapClick(LatLng latLng) {
}
});
googleMap.setOnMapLongClickListener(new GoogleMap.OnMapLongClickListener() {
@Override
public void onMapLongClick(LatLng latLng) {
}
});
googleMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
marker.showInfoWindow();
return true;
}
});
BitmapDescriptor skierIcon = BitmapDescriptorFactory.fromResource(R.drawable.skiericon);
markers.add(googleMap.addMarker(new MarkerOptions()
.position(new LatLng(mountain_latitude+0.01, mountain_longitude+0.01))
.title("Bob")
.visible(true)
.icon(skierIcon)));
markers.add(googleMap.addMarker(new MarkerOptions()
.position(new LatLng(mountain_latitude-0.01, mountain_longitude-0.01))
.title("Alice")
.icon(skierIcon)));
for(Marker marker: this.markers){
marker.showInfoWindow();
boolean ret = marker.isInfoWindowShown();
}
}
我的问题是marker.isinfownshown总是返回false
我这样称呼它
fragmentTransaction = getFragmentManager().beginTransaction();
fragmentTransaction.add(R.id.map, mapFragment);
fragmentTransaction.commit();
mapFragment.getMapAsync(this);
请记住,地图的渲染是一个异步过程,您可以在onMapReady内创建标记,然后在执行此方法后,可以检查标记是否显示。但标记是否显示?是的,标记工作正常getMapAsync不是一个非阻塞异步函数吗?如果是,则在确保在onMapReady回调中呈现贴图后,应检查标记。执行onMapReady后,必须检查IsInfo WindowsHown。