看到地图图像后,你可能需要查看地图的其他部分,看看整体或地图细节。下面介绍一些控制地图显示的方法。
1.设置地图视野(Zoom)
Zoom值是地图的横向跨度,单位有地图的距离单位决定。设置zoom可以放大或缩小地图。当地图加载时,zoom就被设定了。
改变zoom的方法是setZoom()。
示例:
//Assumingthatthecurrentdistanceunitsarekilometers,thiscommandwillsetthe//mapzoomto500kilometers.
myMap.setZoom(500);
2.设置地图中心
有时会将地图中心定位在找到的目标上或将中心定位在鼠标所点击的图像上某一点。这时需要设置地图中心。
设置地图中心的方法是setCenter()。
下面的示例实现了将地图中心定位在鼠标点击的某一点。
示例:
//创建屏幕坐标的Point对象
screenpoint=newDoublePoint(event.getX(),event.getY());
//将屏幕坐标转换为地理坐标
worldpoint=myMap.transformScreenToNumeric(screenpoint);
//设置地图中心
myMap.setCenter(worldpoint);
3.设置地图边界
地图边界不是图象的边界,而是地图坐标系的边界,所有的地图操作都在这个边界内进行。
设置地图边界有两种方法:
方法1:
给定边界的左下角和右上角,设定边界。
DoubleRectbounds=newDoubleRect(-180,-90,180,90);
myMap.setBounds(bounds);
方法2:
给定地图的中心,宽度和高度,设定边界。
DoubleRectbounds=newDoubleRect(newDoublePoint(0,0),360,180);
myMap.setBounds(bounds);
4.设置地图投影
坐标数据存储在server\mapinfow.prj文件中,包含上百种投影。
可以按照如下方法,使用PRJ文件设置投影:
StringcsProj=newString("\"AzimuthalEquidistant(NorthPole)\",5,62,7,0,90,90");
CoordSysts=CoordSys.createFromPRJ(csProj);
myMap.setDisplayCoordSys(ts);
也可以用createFromMapBasic读取MapBasic字符串来设置投影。
5.设置地图距离单位
示例:
distUnit=LinearUnit.kilometer;
myMap.setDistanceUnits(distUnit);
6.添加图层
使用Layers.add方法(详见下一章)向地图添加额外的图层,该图层可以来自文件或。MapXtreme使用DataProvider来管理这些信息。
1.Search介绍
有时可能做一些搜索,如搜索配送中心周围的零售店。MapXtreme提供了丰富的搜索功能。搜索的结果可以转换为被选中状态,从而显示在地图上。Search是Layer对象的方法,有:
searchAll
searchWithinRadius
searchWithinRegion
searchWithinRectangle
searchAtPoint
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-27888-3.html
在几个小时的交锋中就采取撞击等升级事态的行动