如何使用Listener添加折线?

时间:2017-10-23 15:17:12

标签: android google-maps google-maps-android-api-2

您好我正在使用谷歌API,谷歌地图。

到目前为止,我已经学会了如何使用onMapLongClickListener添加标记,现在我想用Polylines进行,所以在我可以创建一个多边形之后 这是我的代码:

public void onMapReady(GoogleMap googleMap) {

    mMap = googleMap;

 mMap.setOnMapLongClickListener(new GoogleMap.OnMapLongClickListener() {
     @Override
     public void onMapLongClick(LatLng latLng) {

        mMap.addPolyline(new PolylineOptions().add(latLng));
       mMap.addMarker(new MarkerOptions().position(latLng));
     }
 });
}}

由于

1 个答案:

答案 0 :(得分:0)

更新您的onMapReady,如下所示。

@Override
    public void onMapReady(GoogleMap googleMap) {
        mMap = googleMap;
        final ArrayList<LatLng> latLngArrayList=new ArrayList<>();
        mMap.setOnMapLongClickListener(new GoogleMap.OnMapLongClickListener() {
            @Override
            public void onMapLongClick(LatLng latLng) {
                latLngArrayList.add(latLng);
                LatLng[] latLngs = new LatLng[latLngArrayList.size()];
                int c=0;
                for (LatLng latLng1:latLngArrayList) {
                    latLngs[c++]=latLng1;
                }
                mMap.addPolyline(new PolylineOptions().add(latLngs));
                mMap.addMarker(new MarkerOptions().position(latLng));
            }
        });
    }