gpt4 book ai didi

android - 从android中的多条折线中删除一条折线

转载 作者:行者123 更新时间:2023-11-29 15:14:55 26 4
gpt4 key购买 nike

我在谷歌地图上有多条折线,根据用户的选择,我必须删除其中一条。我如何确定哪个折线用户想要删除?

最佳答案

首先将所有折线保存在列表中,例如:

GoogleMap mMap = ((MapFragment)getFragmentManager().findFragmentById(R.id.map)).getMap();

List<Polyline> mPolylines = new ArrayList<Polyline>();
// Add polylines to the map and the list
mPolylines.add(mMap.addPolyline(polyOpts));
...
mPolylines.add(mMap.addPolyline(polyOpts));

然后注册一个 map 点击监听器。它将测量距离任何折线的任何点的最小距离。不幸的是,这是我知道如何做到这一点的唯一方法,因为没有折线点击监听器。

mMap.setOnMapClickListener(new GoogleMap.OnMapClickListener() {
@Override
public void onMapClick(LatLng clickCoords) {
for (PolylineOptions polyline : mPolylines) {
for (LatLng polyCoords : polyline.getPoints()) {
float[] results = new float[1];
Location.distanceBetween(clickCoords.latitude, clickCoords.longitude,
polyCoords.latitude, polyCoords.longitude, results);

if (results[0] < 100) {
polyline.setVisible(false);
Log.e(TAG, "Found @ "+clickCoords.latitude+" "+clickCoords.longitude);
return;
}
}
}
}
});

为了更精确:

  • 随着不同缩放级别的最小距离变化。
  • 继续循环寻找距离最小的折线。

关于android - 从android中的多条折线中删除一条折线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25259149/

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