高德地图——标记「建议收藏」

2022-08-31 16:01:14 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

标记显示地图上的单一位置。它可以使用一个标准的图标,也可以由开发 者自定义图标。您可以通过 AMap.addMarker(MarkerOptions Options) 方 法将一个标记添加到地图上。 MarkerOptions属性有: • position(Required) 在地图上标记位置的经纬度值。 参数不能为空。 • title 当用户点击标记,在信息窗口上显示的字符串(测试发现,点击没有任何效果)。 • snippet 附加文本,显示在标题下方(测试发现,点击没有任何效果)。 • draggable 如果您允许用户可以自由移动标记,设置为“true ” ,默认情况下为“false ” 。 • visible 设置“false ” ,标记不可见。 • anchor图标摆放在地图上的基准点。 • perspective设置 true,标记有近大远小效果。 • 可以通过Marker.setRotateAngle() 方法设置标记的 旋转角度,从正北开始,逆时针计算。

仅仅想要在上面标注一个点

代码语言:javascript复制
  private void addMarkerToMap() {
        LatLng latLng = new LatLng(39.9081728469, 116.3867845961);
        MarkerOptions markerOption = new MarkerOptions();
        markerOption.position(latLng);
        markerOption.draggable(true);
        markerOption.icon(BitmapDescriptorFactory.fromResource(R.drawable.icon_marker));
        Marker marker = aMap.addMarker(markerOption);
        marker.setRotateAngle(30);
    }

在上面显示一些文本信息

代码语言:javascript复制
//追加markerOption的title,snippet信息
  markerOption.title("天安门").snippet("北京市东城区东长安街");
  //展示要显示的信息
  marker.showInfoWindow();

完整代码如下:

代码语言:javascript复制
    private void addMarkerToMap() {
        LatLng latLng = new LatLng(39.9081728469, 116.3867845961);
        MarkerOptions markerOption = new MarkerOptions();
        markerOption.position(latLng);
        markerOption.draggable(true);
        markerOption.icon(BitmapDescriptorFactory.fromResource(R.drawable.icon_marker));

        markerOption.title("天安门").snippet("北京市东城区东长安街");

        Marker marker = aMap.addMarker(markerOption);
        marker.setRotateAngle(30);

        marker.showInfoWindow();

    }

其效果如下:

绘制几何图形

  • 折线

开发示例 1、折线(Polyline):折线的关键类为 Polyline,在地图上定义了一组相连 的线段。 Polyline 对象由一组经纬度坐标组成,并以有序序列形式建立一系列 的线段,通过aMap.addPolyline(PolylineOptions options)来添加到地图上, PolylineOptions的属性有: • add(LatLng.. point) 添加折线的顶点,可以同时 添加多个。 • width 设置线的宽度。 • color 设置线的颜色。 • visible 设置“false ” ,线不可见。 • setDottedLine(true) 设置线为虚线。 • setCustomTexture() 可以给线段添加自定义纹理。 • geodesic(true)设置线段是否为大地曲线线段。

代码语言:javascript复制
   public void addPolyline() {
        PolylineOptions polylineOptions = new PolylineOptions();
        polylineOptions.add(new LatLng(38, 119));
        polylineOptions.add(new LatLng(38, 120));
        polylineOptions.add(new LatLng(38, 117));
        polylineOptions.width(8);
        polylineOptions.color(Color.RED);
        polylineOptions.geodesic(true);
        aMap.addPolyline(polylineOptions);
    }
  • 任意多边形

2、多边形(Polygon):类 Polygon 与 Polyline 比较相似,它们都包括有 序序列的一系列坐标。然而,多边形包含有内部区域,通过aMap. addPolygon(PolygonOptions options)来添加到地图上,PolygonOptions的 属性有: • add(LatLng.. point) 添加多边形的顶点,可以同时 添加多个。 • width 设置线的宽度。 • strokeColor 设置边线的颜色。 • fillColor 设置内部填充颜色。 • visible 设置“false ” ,多边形不可见。

3、圆(Circle):除了通用的 Polygon 类,高德地图 Android SDK 还定义 了 Circle 类,简化创建圆的过程,通过aMap.addCircle(CircleOptions options)来添加到地图上,CircleOptions的属性有: • center(LatLng point) 设置圆的中心点。 • strokeWidth 设置边线的宽度。 • strokeColor 设置边线的颜色。 • fillColor 设置内部填充色。 • visible 设置“false ” ,圆不可见。

代码语言:javascript复制
   public void addCircle(){
        CircleOptions circleOptions=new CircleOptions();
        circleOptions.center(new LatLng(38,120));
        circleOptions.radius(100000);
        circleOptions.strokeWidth(8);
        circleOptions.strokeColor(Color.RED);
        circleOptions.fillColor(Color.BLUE);
        aMap.addCircle(circleOptions);
    }

其结果如下:

  • 弧形(Arc) 4、弧形(Arc):高德地图 Android SDK 定义了 Arc 类用于创建弧形对象, 通过aMap. addArc(ArcOptions options)来添加到地图上,ArcOptions的属 性有: • points(LatLng startpoint, LatLng passpoint, LatLng endpoint) 设置弧形的起点、途经点和终点。 • strokeWidth 设置边线的宽度。 • strokeColor 设置边线的颜色。 • visible 设置“false ” ,圆不可见。
代码语言:javascript复制
 public void addArc(){
        ArcOptions arcOptions=new ArcOptions();
        arcOptions.strokeWidth(10);
        arcOptions.strokeColor(Color.RED);
        arcOptions.point(new LatLng(38,119),new LatLng(30,120),new LatLng(38,121));
        aMap.addArc(arcOptions);
    }

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/143171.html原文链接:https://javaforall.cn

0 人点赞