gpt4 book ai didi

android - (Android - 谷歌地图) 为什么折线自动制作闭合图形

转载 作者:行者123 更新时间:2023-11-30 01:23:36 25 4
gpt4 key购买 nike

我一直在开发一个基于 map 的应用程序。在那里,我在 Polylines 的帮助下展示了公交路线。一切正常,如您在这张图片中所见:

First start

但是当我重新启动应用程序或重新访问 map Activity 时,折线会自动连接最后一个点和第一个点(坐标),从而形成一个闭合图形。

Revisit

那么有什么方法可以阻止 map 这样做吗?

map fragment 源代码

public class MapFragment extends Fragment {

GoogleMap gmaps;
ArrayList<LatLng>coo = ProcessLatLng.getCoordinates(); //Getting co-ordinates into Array List

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// TODO Auto-generated method stub
View v=inflater.inflate(R.layout.map_fragment, container, false);
prepareMap();
return v;
}

private void prepareMap() {
int i;
if(gmaps == null)
gmaps = ((com.google.android.gms.maps.MapFragment)getFragmentManager().findFragmentById(R.id.map)).getMap();

if(gmaps != null){
PolylineOptions pop= new PolylineOptions();

pop.width(5).color(Color.BLUE);

for(i=0;i<coo.size();i++){
pop.add(coo.get(i));
}

gmaps.addPolyline(pop);

gmaps.addMarker(new MarkerOptions().position(coo.get(0)).title("Start"));
gmaps.addMarker(new MarkerOptions().position(coo.get(coo.size()-1)).title("End"));

gmaps.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(26.846785, 80.945591), 13));
}

}

最佳答案

如果我没记错的话,好像又添加了相同的点,就像这样

第一次

(P1) ---- (P2) ---- (P3)

第二次

(P1) ---- (P2) ---- (P3) ---- (P1) >---- (P2) ---- (P3)

尝试将 ProcessLatLng.getCoordinates() 方法移动到 prepareMap 方法

尝试获取折线实例,并在 fragment 消失之前删除

Polyline mPolyline;
private void prepareMap() {
....
ArrayList<LatLng> coo = ProcessLatLng.getCoordinates();

....
mPolyline = gmaps.addPolyline(pop)
}

关于android - (Android - 谷歌地图) 为什么折线自动制作闭合图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36747393/

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