【发布时间】:2020-12-08 08:20:25
【问题描述】:
我想在折线上显示每个连接节点的距离。目前我没有得到这样的方法来显示多段线上的文本。请帮助是否可以在 android google maps api 中执行。
【问题讨论】:
标签: android google-maps
我想在折线上显示每个连接节点的距离。目前我没有得到这样的方法来显示多段线上的文本。请帮助是否可以在 android google maps api 中执行。
【问题讨论】:
标签: android google-maps
此方法 (Java) 将折线添加到地图中,并将每个线段的距离作为文本添加到折线上 - 使用另一个答案中的引用方法来显示文本。
private void polylineLabels() {
LatLng pt1 = new LatLng(39.935484,-83.023490);
LatLng pt2 = new LatLng(39.098487,-84.446861);
LatLng pt3 = new LatLng(39.743435,-86.104479);
LatLng pt4 = new LatLng(38.202789,-85.739295);
LatLng pt5 = new LatLng(38.614276,-90.138124);
routePts.add(pt1);
routePts.add(pt2);
routePts.add(pt3);
routePts.add(pt4);
routePts.add(pt5);
for (int i = 1; i < routePts.size(); i++) {
Polyline line = mMap.addPolyline(
new PolylineOptions()
.add(routePts.get(i-1), routePts.get(i)).
width(5).color(Color.RED));
double d = SphericalUtil.computeDistanceBetween(routePts.get(i-1),routePts.get(i));
int dInt = (int)d;
String msg = Integer.toString(dInt)+"m";
LatLng midpt = SphericalUtil.interpolate(routePts.get(i-1),routePts.get(i), 0.5);
Marker m = addText(this, mMap, midpt, msg, 2, 18);
}
}
结果:
您必须尝试使用偏移位置来更好地定位每个标签。
这是定义addText 方法的答案:https://stackoverflow.com/a/30185289/2711811。
【讨论】: