[英]Google Maps Android API utility library: Add a circle around the marker, when marker becomes visible
我正在开发使用Google Maps和Google Maps Android API Utility Library的Android应用程序。 通过使用实用程序库,我得到了聚类标记。 但是,当标记变得可见时,我想在标记周围显示圆圈。 以下是我用来添加群集标记的代码:
public class ClusterMarkersFragment {
public GoogleMap map;
private ClusterManager<MarkerItem> fenceClusterManager;
public static ClusterMarkersFragment newInstance () {
ClusterMarkersFragment clusterMarkersFragment = new
ClusterMarkersFragment();
return clusterMarkersFragment;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState);
View view = inflater.inflate( R.layout.fragment_cluster_marker_map,
container, false );
map = ((SupportMapFragment) getChildFragmentManager()
.findFragmentById( R.id.view_map )).getMap();
map.setMyLocationEnabled(false);
fenceClusterManager = new ClusterManager<MarkerItem>(getActivity(), map);
map.setOnCameraChangeListener(fenceClusterManager);
addClusterItems(getListofLatLngPairs());
return view;
}
private List< LatLngPair > getListofLatLngPairs () {
// returns the list from database
}
private void addClusterItems(List<LatLngPair> latLngPairs) {
for (LatLngPair latLngPair : latLngPairs) {
MarkerItem markerItem = new MarkerItem(latLngPair.lat, latLngPair.lng, (int) latLngPair);
fenceClusterManager.addItem(markerItem);
}
}
}
以下是屏幕截图
尝试这个:
private void addcircleAroundMarker() {
GoogleMap mapView;
// circle settings
int radiusM = RADIUS OF CIRCLE;
double latitude = CENTER LATITUDE;
double longitude = CENTER LONGITUDE;
LatLng latLng = new LatLng(latitude,longitude);
// draw circle
// diameter
int d = 500;
Bitmap bm = Bitmap.createBitmap(d, d, Config.ARGB_8888);
Canvas c = new Canvas(bm);
Paint p = new Paint();
p.setColor(getResources().getColor(R.color.green));
c.drawCircle(d/2, d/2, d/2, p);
BitmapDescriptor bmD = BitmapDescriptorFactory.fromBitmap(bm);
mapView.addGroundOverlay(new GroundOverlayOptions().
image(bmD).
position(latLng,radiusM*2,radiusM*2).
transparency(0.4f));
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.