首页 / 浏览问题 / 组件GIS / 问题详情
创建好了geopicture对象怎么添加到地图上指定的位置?
5EXP 2018年07月25日
有没有相关的示例

1个回答

示例:

以下代码示范如何设置 GeoPicture 对象,并将其设置信息输出。

 public void geoPictureTest(){
        // 构造一个 GeoPicture 对象并进行相应设置
        GeoPicture geoPicture = new GeoPicture();
        geoPicture.setCenter(new Point2D(500, 500));
        geoPicture.setHeight(400);
        geoPicture.setWidth(400);
        geoPicture.setImage(new java.awt.image.BufferedImage(350, 300,
                java.awt.image.BufferedImage.TYPE_BYTE_GRAY));
        geoPicture.setRotation(5);
    }
 
698EXP 2018年07月25日
写了,地图上没显示
贴代码看看
以上代码只是如何设置 GeoPicture 对象,并没有说如何添加到地图上
加到图层上就好了,比如

GeoLine snapPane = new GeoLine(point2Ds);

tracklayer1.add(snapPane, "SmID");
// 构造一个 GeoPicture 对象并进行相应设置
GeoPicture geoPicture = new GeoPicture();
geoPicture.setCenter(new Point2D(500, 500));
geoPicture.setHeight(400);
geoPicture.setWidth(400);
geoPicture.setImage(new java.awt.image.BufferedImage(350, 300,
        java.awt.image.BufferedImage.TYPE_BYTE_GRAY));
geoPicture.setRotation(5);
mapControl.getMap().getTrackingLayer().add(geoPicture,"");

地图上没有显示标记,然后这个标记的经纬度位置在哪儿,好像都没有设置

1、2D点的地图坐标自己设置,如果不知道,要么打开桌面看,要么自己写屏幕坐标转换为地图坐标的方法

2、添加之后要刷新地图
您好,可以写一个例子吗,比如标注一个北京(东经116.40,北纬39.39)的位置怎么设置
有没有类似的示例程序
geoPicture.setCenter(new Point2D(X, Y));这个位置设置的单位取决于你mapcontrol的坐标系,不一定是经纬度,最简单的方法就是用桌面打开,把你要点的那个点记下来,然后设置成X、Y,就能看到你的地理对象出现在那个点。
进阶的就是将鼠标点的屏幕坐标转化为地理坐标,关于这个有范例SimpleCode/PixelMapSample可以参考。

打开的地图坐标系是GCS_WGS_1984的,标记的位置是写好的,不需要鼠标点击添加,应该不需要转化吧,还有就是geoPicture.setCenter(new Point2D(116, 39)); geoPicture.setHeight(400); geoPicture.setWidth(400); geoPicture.setImage(new java.awt.image.BufferedImage(350, 300, java.awt.image.BufferedImage.TYPE_BYTE_GRAY)); 后面三行代码运行程序就报错

我把示例代码复制下来运行了一下,没有报错啊,可以贴贴你的完整代码。或者是这几句的报错信息。
...