gpt4 book ai didi

android - Polyline Android 中没有 GeoDesic

转载 作者:搜寻专家 更新时间:2023-11-01 07:57:51 24 4
gpt4 key购买 nike

我创建了一个 map fragment ,它将来自数组列表(已解析的 XML)的标记添加到 Google map 。在标记之间我画了一条折线。一切正常,但尽管我激活了测地线,但线条还是笔直的。

我是否需要实现特定的方法或代码才能获得测地线工作。我想要一条线,沿着这条街从一个点到另一个点。还是 Geodesic 仅适用于 2 个标记?我有两个以上。

private void setUpMap() {

PolylineOptions routeDraw = new PolylineOptions().width(5).color(Color.BLUE).geodesic(true);

try {

for (RowItem aPoisMap : poisMap) {
latitude = aPoisMap.getLatitudePoi();
longitude = aPoisMap.getLongitudePoi();
poiTitle = aPoisMap.getTitle();
poiDesc = aPoisMap.getDesc();
marker = mMap.addMarker(new MarkerOptions().position(new LatLng(latitude, longitude)).title(poiTitle).snippet(poiDesc));
routeDraw.add(new LatLng(latitude, longitude));
}
Polyline polyline = mMap.addPolyline(routeDraw.geodesic(true));
latitudeZoom = poisMap.get(0).getLatitudePoi();
longitudeZoom = poisMap.get(0).getLongitudePoi();
mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(latitudeZoom, longitudeZoom), 14));

mMap.setMyLocationEnabled(true);
} catch (NullPointerException e) {
Context context = getActivity().getApplicationContext();
CharSequence text = getResources().getString(R.string.errormap);
int duration = Toast.LENGTH_LONG;
Toast toast = Toast.makeText(context, text, duration);
toast.setGravity(Gravity.TOP | Gravity.CENTER_HORIZONTAL, 0, 0);
toast.show();
}
}

最佳答案

你误解了什么是 geodesic line .现在要使用道路显示 2 个特定点之间的路线,您需要使用 Directions API 获取点,然后可以将其构造成折线。

This answer提供了一种很好的方法来解析 Directions API 输出的结果。它几乎只是解析 XML,然后连接 PolylineOptions 对象中的点。

注意:Directions API 的默认每日限制为 2,500 次查询。

关于android - Polyline Android 中没有 GeoDesic,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25378804/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com