【问题标题】:How can i add a polyline using a Listener?如何使用监听器添加折线?
【发布时间】:2017-10-23 15:17:11
【问题描述】:

您好,我正在使用 Google API、Google 地图。

到目前为止,我已经学会了如何使用 onMapLongClickListener 添加标记,现在我想用折线来做,这样我就可以创建一个多边形
这是我的代码:

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));
     }
 });
}}

谢谢

【问题讨论】:

  • 检查我更新的答案。

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


【解决方案1】:

更新您的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));
            }
        });
    }

【讨论】:

  • 是的,但我的意思是你点击地图,它应该添加一条折线并添加一个标记,然后
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-03
  • 1970-01-01
相关资源
最近更新 更多