下面列出了怎么用com.google.android.gms.maps.model.Gap的API类实例代码及写法,或者点击链接到github查看源代码。
@Override
public void onMapReady(GoogleMap googleMap) {
this.map = googleMap;
curveManager = new CurveManager(map);
ArrayList<LatLng> latLngArrayList = new ArrayList<>();
latLngArrayList.add(new LatLng(12.30548451, 76.65521267));
latLngArrayList.add(new LatLng(19.81516491, 85.83133625));
latLngArrayList.add(new LatLng(26.9124336, 75.7872709));
latLngArrayList.add(new LatLng(28.596111, 83.820278));
CurveOptions curveOptions = new CurveOptions();
curveOptions.addAll(latLngArrayList);
curveOptions.color(Color.DKGRAY);
curveOptions.setComputePointsBasedOnScreenPixels(false);
curveOptions.setAlpha(0.5f);
curveOptions.width(10);
List<PatternItem> pattern = Arrays.asList(new Dash(30), new Gap(20));
curveOptions.pattern(pattern);
curveOptions.geodesic(false);
for (LatLng position : latLngArrayList) {
new MarkerOptions().position(position);
map.addMarker(new MarkerOptions().position(position));
}
map.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(21.146633, 79.088860), 5));
curveManager.drawCurveAsync(curveOptions);
}
@Override
public void onMapReady(GoogleMap googleMap) {
this.map = googleMap;
curveManager = new CurveManager(map);
CurveOptions curveOptions = new CurveOptions();
curveOptions.add(sourceLatLng);
curveOptions.add(destinationLatLng);
curveOptions.color(Color.DKGRAY);
curveOptions.setComputePointsBasedOnScreenPixels(true);
curveOptions.setAlpha(0.5f);
curveOptions.width(12);
List<PatternItem> pattern = Arrays.asList(new Dash(30), new Gap(30));
curveOptions.pattern(pattern);
curveOptions.geodesic(false);
map.addMarker(new MarkerOptions()
.position(sourceLatLng)
.anchor(0.5f, 1f));
map.addMarker(new MarkerOptions()
.position(destinationLatLng)
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_GREEN))
.anchor(0.5f, 1f));
map.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(56.14683221, 10.2079815), 14));
curveManager.drawCurveAsync(curveOptions);
}
private void drawCurveLine() {
String sourceLatitude = latitudeInputOneEditText.getText().toString().trim();
String sourceLongitude = longitudeInputOneEditText.getText().toString().trim();
String destLatitude = latitudeInputTwoEditText.getText().toString().trim();
String destLongitude = longitudeInputTwoEditText.getText().toString().trim();
String alpha = alphaEditText.getText().toString().trim();
if (sourceLatitude.equals("") || sourceLongitude.equals("")
|| destLatitude.equals("") || destLongitude.equals("") || alpha.equals("")) {
return;
}
LatLng initLatLng = new LatLng(Double.valueOf(sourceLatitude), Double.valueOf(sourceLongitude));
LatLng finalLatLng = new LatLng(Double.valueOf(destLatitude), Double.valueOf(destLongitude));
CurveOptions curveOptions = new CurveOptions();
curveOptions.add(initLatLng);
curveOptions.add(finalLatLng);
curveOptions.clickable(true);
curveOptions.setComputePointsBasedOnScreenPixels(checkBox.isChecked());
curveOptions.setZoomToPosition(true);
curveOptions.setAlpha(Float.valueOf(alpha));
curveOptions.width(12);
List<PatternItem> pattern = Arrays.asList(new Dash(30), new Gap(25));
curveOptions.pattern(pattern);
curveOptions.geodesic(false);
if (checkBox.isChecked()) {
curveOptions.color(getResources().getColor(R.color.red_500));
} else {
curveOptions.color(getResources().getColor(R.color.indigo_a700));
}
LatLngBounds.Builder builder = new LatLngBounds.Builder();
builder.include(initLatLng);
builder.include(finalLatLng);
LatLngBounds bounds = builder.build();
map.moveCamera(CameraUpdateFactory.newLatLngBounds(bounds, 20));
if (curveManager != null) {
curveManager.drawCurveAsync(curveOptions);
}
map.addMarker(new MarkerOptions().position(initLatLng).anchor(0.5f, 1f));
map.addMarker(new MarkerOptions().position(finalLatLng)
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_GREEN))
.anchor(0.5f, 1f));
}