如何根据android中沿线的rgw距离在Google Maps折线上添加标记?

问题描述 投票:2回答:1

我在谷歌地图中的两点之间划了一条线。现在我想在该行中添加特定距离的标记

[![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做? How to add markers on Google Maps polylines based on distance along the line?

android google-maps distance intervals google-polyline
1个回答
0
投票

如果您有两个标记,并且想要距离该行的起点一定距离放置标记,则可以使用SphericalUtil.interpolate来完成该任务。

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

//假设您希望新标记距离起点远离

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

不是这里,你的距离可以是1公里,2公里,或任何你想要的(基于你提到的帖子)

© www.soinside.com 2019 - 2024. All rights reserved.