这应该很容易,但我无法找到任何帮助。
我正在为Google Maps Api设置自定义标记,如下所示:
MarkerOptions marker = new MarkerOptions().position(new LatLng(latitude, longitude)).title("Fisk");
marker.icon(BitmapDescriptorFactory.fromResource(R.drawable.doghouse));
mMap.addMarker(marker);
我希望能够使标题持久,以便始终显示。我也想知道如何编辑标题的外观!标题最终将是动态的,或者我会使图像包含标题。
答案 0 :(得分:1)
首先,您应该注意一些GoogleMaps细节:
InfoWindow
s InfoWindow
InfoWindow
要克服这些代码:
final Marker marker = mMap.addMarker(new MarkerOptions().position(
new LatLng(51.5072, 0.1275)).title("B"));
marker.showInfoWindow();
mMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker m) {
marker.showInfoWindow();
return true; // Consume the clicks
}
});
mMap.setOnMapClickListener(new GoogleMap.OnMapClickListener() {
@Override
public void onMapClick(LatLng latLng) {
marker.showInfoWindow();
}
});
注意:这适用于单个标记,如果您希望同时显示多个标记标题,则最好添加叠加层。
答案 1 :(得分:1)
您可以制作自己的标记布局并添加此
LinearLayout tv = (LinearLayout) this.getLayoutInflater().inflate(R.layout.test_layout, null, false);
tv.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED),
MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
tv.layout(0, 0, tv.getMeasuredWidth(), tv.getMeasuredHeight());
tv.setDrawingCacheEnabled(true);
tv.buildDrawingCache();
Bitmap bm = tv.getDrawingCache();
and BitmapDescriptor icon = BitmapDescriptorFactory.fromBitmap(bm);
BitmapDescriptorFactory.fromResource(R.mipmap.ic_launcher);
map.addMarker(new MarkerOptions().position(new LatLng(latitudemy, longitudemy)).title("xxxx").snippet("xxxxx").icon(icon));