我正在为我的Android应用程序使用新的API(Google Map API V2),我已经完成了创建地图并添加标记,现在我的任务是手动创建一个围绕任何标记的圆圈,我也想要为用户提供一个功能,他可以相应地增加该圆的半径,为此我给了一个条,当用户增加该条时,圆的半径将增加,反之亦然。
如果有人知道如何使用Google Map API V2,请提供帮助,
答案 0 :(得分:17)
试试这段代码
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tag_map);
// Drawing circle on the map
drawCircle(new LatLng(Latitude, Longitude));
}
private void drawCircle(LatLng point){
// Instantiating CircleOptions to draw a circle around the marker
CircleOptions circleOptions = new CircleOptions();
// Specifying the center of the circle
circleOptions.center(point);
// Radius of the circle
circleOptions.radius(20);
// Border color of the circle
circleOptions.strokeColor(Color.BLACK);
// Fill color of the circle
circleOptions.fillColor(0x30ff0000);
// Border width of the circle
circleOptions.strokeWidth(2);
// Adding the circle to the GoogleMap
googleMap.addCircle(circleOptions);
}
答案 1 :(得分:9)
在onMapReady()
方法中添加以下代码:
Circle circle = map.addCircle(new CircleOptions()
.center(new LatLng(latitude, longitude))
.radius(10000)
.strokeColor(Color.RED)
.fillColor(Color.BLUE));
其中map
是GoogleMap
类的对象。
答案 2 :(得分:0)
CircleOptions circleOptions = new CircleOptions();
circleOptions.center(new LatLng(location.getLatitude(),location.getLongitude()));
circleOptions.radius(700);
circleOptions.fillColor(Color.TRANSPARENT);
circleOptions.strokeWidth(6);
mMap.addCircle(circleOptions);
geocoder = new Geocoder(MapsActivity.this, getDefault());
MarkerOptions markerOptions = new MarkerOptions();
markerOptions.position(new LatLng(location.getLatitude(), location.getLongitude()));
mMap.addMarker(markerOptions.title(String.valueOf(location)));
尝试
答案 3 :(得分:0)
Google地图可以为圆使用半透明颜色。
private var circle: Circle? = null
private fun drawCircle(latitude: Double, longitude: Double, radius: Double) {
val circleOptions = CircleOptions()
.center(LatLng(latitude, longitude))
.radius(radius)
.strokeWidth(1.0f)
.strokeColor(ContextCompat.getColor(context!!, R.color.color1))
.fillColor(ContextCompat.getColor(context!!, R.color.color2))
circle?.remove() // Remove old circle.
circle = googleMap?.addCircle(circleOptions) // Draw new circle.
}