Как добавить маркеры на полилинии Карт Google, основываясь на расстоянии rgw вдоль линии в Android? - PullRequest
2 голосов
/ 30 марта 2019

Я нарисовал линию между двумя точками на картах Google.Теперь я хочу добавить маркеры в этой строке для определенного расстояния.

[![mMap.setOnMapClickListener(new GoogleMap.OnMapClickListener() {
 @Override
 public void onMapClick(LatLng latLng) {

  MarkerOptions marker = new MarkerOptions().position(
   new LatLng(latLng.latitude, latLng.longitude)).title("New Marker");
  mMap.addMarker(marker).setDraggable(true);

  mTempCollection.add(latLng);
  mPolylineOptions.getPoints().clear();
  mPolylineOptions.addAll(mTempCollection);
  LatLngBounds latLngBounds = getPolygonCenterPoint(mTempCollection);
  double distance = SphericalUtil.computeDistanceBetween(latLngBounds.southwest, latLngBounds.northeast);
  Log.d(TAG, "distance: " + distance);
  int plotmarkers = (int)(distance / 10);
  mPolylineOptions.color(Color.GREEN);
  mMap.addMarker(new MarkerOptions()
   .position(latLngBounds.getCenter()));
  mMap.addPolyline(mPolylineOptions);


 }
});

`In this line I want to add markers of particular distance В этой строке я хочу добавить маркеры определенного расстояния.

Я нашел эту ссылку, которая в javascript это может быть сделано для Android?
Как добавить маркеры на полилинии Google Maps на основе расстояния вдоль линии?

1 Ответ

0 голосов
/ 02 апреля 2019

Если у вас есть два маркера и вы хотите разместить маркер на определенном расстоянии от начальной точки этой линии, вы можете использовать SphericalUtil.interpolate, чтобы выполнить работу.

double distance_between_points = SphericalUtil.computeDistanceBetween (startPointLoc, endPointLoc);

// Допустим, вы хотите, чтобы новый маркер находился на расстоянии от начальной точки

LatLng newMarkerLoc = SphericalUtil.interpolate (startPointLoc, endPointLoc, (float)DISTNACE / distnace_between_points);

Не то чтобы здесь ваше РАССТОЯНИЕ может составлять 1 км, 2 км или что вы хотите (в зависимости от упомянутого вами поста)

...