我们知道某个Geometry的坐标,但不知道具体的位置,该如何使地图快速定位呢?这时需要用到MapView.setExtent方法,来看下这个方法的介绍:Zooms the map to the given geometry so that geometry fits within the bounds of the map.大体的意思即缩小地图定位到Geometry。上代码:

public class MainActivity extends Activity {

    private MapView mapView;
private GraphicsLayer graphicsLayer;
private static final String TILED_WORLD_STREETS_URL = "http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer"; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); mapView = (MapView) findViewById(R.id.map_view);
mapView.addLayer(new ArcGISTiledMapServiceLayer(TILED_WORLD_STREETS_URL)); findViewById(R.id.location).setOnClickListener(new OnClickListener() { @Override
public void onClick(View arg0) {
//快速定位到线
Polyline polyline = new Polyline();
polyline.startPath(new Point(110, 23));
polyline.lineTo(new Point(115, 25));
//由于加载的地图是墨卡托坐标,这里需要转坐标
Polyline polyline2 = (Polyline) GeometryEngine.project(polyline,
SpatialReference.create(SpatialReference.WKID_WGS84),
SpatialReference
.create(SpatialReference.WKID_WGS84_WEB_MERCATOR));
mapView.setExtent(polyline2);
}
});
initLayer();
} /**
* 添加一条线
*/
private void initLayer() {
graphicsLayer = new GraphicsLayer();
mapView.addLayer(graphicsLayer);
Polyline polyline = new Polyline();
polyline.startPath(new Point(110, 23));
polyline.lineTo(new Point(115, 25));
//由于加载的地图是墨卡托坐标,这里需要转坐标
Polyline polyline2 = (Polyline) GeometryEngine.project(polyline,
SpatialReference.create(SpatialReference.WKID_WGS84),
SpatialReference
.create(SpatialReference.WKID_WGS84_WEB_MERCATOR));
graphicsLayer.addGraphic(new Graphic(polyline2, new SimpleLineSymbol(
Color.RED, 3, SimpleLineSymbol.STYLE.SOLID)));
} }

Android GIS开发系列-- 入门季(10) MapView快速定位到Geometry的更多相关文章

  1. Android GIS开发系列-- 入门季(9) 定位当前的位置

    利用MapView定位当前的位置 这里要用到Arcgis中的LocationDisplayManager这个类,由于比较简单.直接上代码: LocationDisplayManager locatio ...

  2. Android GIS开发系列-- 入门季(8) Json与Geometry的相互转换

    在Android中json数据十分普遍,也很实用,在Arcgis中也同样支持Json数据,Json与Geometry可以相互转换,达到我们想要的数据. 一.Geometry转换成Json数据 这个实现 ...

  3. Android GIS开发系列-- 入门季(14)FeatureLayer之范围查询

    Android GIS开发系列-- 入门季(5),这篇文章中,我们知道如何去查找要素.现在有一个需求,查找某点5000米范围的要素,那如何来做呢?首先我们需要在地图上画个5000米半径的圆,然后根据Q ...

  4. Android GIS开发系列-- 入门季(2) MapView与图层介绍

    一.MapView MapView是Arcgis中的最基本的类,与高德地图SDK的MapView的重要性一样.MapView的创建有两种方法,一种是在Layout文件中直接写控件.一种是实例化,Map ...

  5. Android GIS开发系列-- 入门季(1) 起点

    前言 这个系列,待最终完成更新,大家体谅点,第一版本全部是参考的网络教程,最近会逐步的细化更新为可以直接使用的情况. 本系列的开发基于AS (  Android Studio ), 和ArcGIS 的 ...

  6. Android GIS开发系列-- 入门季(13)Gdal简单写个shp文件

    Gdal是用来读写栅格与矢量数据的,在Gdal官网,可以下载相关的资源进行平台的编译.其实Arcgis底层也是用Gdal来读取shp文件的,那在Android中可以直接读写shp文件吗,是可以的.这里 ...

  7. Android GIS开发系列-- 入门季(12) 显示载天地图

    在项目中可以经常需要动态加载一些图层,像投影地图服务.投影地图服务器.其实网上有大量这样的服务,比如天地图官网, . 随便点开一个服务,里面有相关的信息.那如何加载这样图层服务呢. 一.首先感谢这篇博 ...

  8. Android GIS开发系列-- 入门季(3) GraphicsLayer添加点、线、面

    GraphicsLayer是图形图层,可以自定义图形添加到地图上.调用GraphicsLayer的addGraphic方法就能添加图形,此方法要一个Graphic对象,此对象的构造方法是Graphic ...

  9. Android GIS开发系列-- 入门季(5) FeatureLayer加载本地shp文件与要素查询

    FeatureLayer是要素图层,也是Arcgis的主要图层.用这个图层可以加载本地的shp文件.下面我们看怎样加载shp文件到MapView中.查看ArcGis API可知FeatureLayer ...

随机推荐

  1. github——团队合作

  2. MySql(一)mysql服务的基本操作及环境配置

    MySQL服务的启动开始–>计算机–>右键选择管理–>双击打开服务和应用程序–>双击服务–>找到MySQL的服务名称(我的是MySQL56),右键选择启动即可 通过命令行 ...

  3. spring中路径的注入

    @RequestMapping("${mgt}/file") //请求的路径的统一添加,需要在mvc层配置<context:property-placeholder loca ...

  4. app dcloud 打包公用证书

    Android平台云端打包使用的DCloud公用证书 分类:HTML5+ 5+App开发 HBuilder|HBuilderX应用云端打包Android平台默认使用的DCloud公用证书,其信息如下: ...

  5. wifi钓鱼之--Pumpkin

    无线钓鱼   前言:请准备一块rt3070的外接网卡 Pumpkin是一款无线安全检测工具WiFi-Pumpkin的使用,利用该工具可以伪造接入点完成中间人攻击,同时也支持一些其它的无线渗透功能.旨在 ...

  6. vue面试相关

    (1)什么是mvvm?    MVVM是Model-View-ViewModel的缩写.mvvm是一种设计思想.Model 层代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑:View ...

  7. ubuntu 安装virt-manager

    sudo apt-get install qemu-kvm libvirt-bin virt-manager bridge-utils

  8. kafka可视化客户端工具(Kafka Tool)安装

    参考:https://www.cnblogs.com/frankdeng/p/9452982.html

  9. Q币直充-迅银渠道商(php 面向对象类)

    Q币直充的一个类实现 1 <?php /** * DEC : 迅银Q币直充 * User: David Wang * Time: 2018/5/24 下午1:09 */ namespace go ...

  10. myeclipse出现Failed to load JavaHL Library.

    eclipse启动出现如图的状况: 解决方法: Window-Preferences-Team-SVN,在SVN接口的下拉框可以看到,默认选择的是JavaHL(JNI) Not Available,手 ...