`
izuoyan
  • 浏览: 9483673 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

ArcGIS API for Android 案例教程 7

阅读更多

导航与触屏操作

现在让我们看一下对MapView进行操作,比如首先第一个问题是地图导航。现在,让我们先新建一个ArcGIS Android工程,添加一个MapView,并加入一个地图服务(和Hello World差不多)。

运行这个程序后,不出意外你就能马上看到这个地图服务。这时,如果我想拖动一下地图,用鼠标拖动一下就可以;如果我想放大,在模拟器上双击也就可以了,其实如果是在真机上,用两个手指在屏幕上做一个放大的手势也可以;但是在模拟器上想要模拟缩小就比较麻烦了。所以,这里我想加上两个按钮,分别是“放大”、“缩小”:

"@+id/buttonZoomIn" android:text="放大"

android:layout_width="wrap_content" android:layout_height="wrap_content"

android:layout_alignParentLeft="true"/>

"@+id/buttonZoomOut" android:text="縮小"

android:layout_width="wrap_content" android:layout_height="wrap_content"

android:layout_alignParentRight="true"/>

public class Navigation extends Activity {

private MapView map = null;

private Button buttonZoomIn = null;

private Button buttonZoomOut = null;

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

this.map = (MapView) findViewById(R.id.map);

this.buttonZoomIn = (Button) findViewById(R.id.buttonZoomIn);

this.buttonZoomOut = (Button) findViewById(R.id.buttonZoomOut);

this.buttonZoomIn.setOnClickListener(new OnClickListener() {

public void onClick(View v) {

Navigation.this.map.zoomin();

}

});

this.buttonZoomOut.setOnClickListener(new OnClickListener() {

public void onClick(View v) {

Navigation.this.map.zoomout();

}

});

}

}

没错,调用一下MapView的zoomin和zoomout方法就可以了,这样在运行这个程序就会是图 20这样,通过两个按钮和在地图上的拖动就可以任意缩放地图到你期望的位置了。

clip_image002

20 放大缩小地图

然而,我们知道在触摸屏上还有其它的操作,比如“长按”。如果我现在的程序希望用户可以通过一个“长按”的操作来获取地图上一个点的坐标,然后再进行后续的标注等其它操作,应该怎么做呢?

在ArcGIS Android API中提供了一种事件监听类型为OnLongPressListener,MapView通过这个事件监听就可以对用户的长按事件做出反应,现在我们就给这个MapView加上一个长按监听,并在长按时在一个文本框中显示触摸处的地图坐标:

<textview android:id="&lt;i">"@+id/label"</textview>

android:layout_width="wrap_content" android:layout_height="wrap_content"

android:textColor="#ffffff" android:layout_centerHorizontal="true"

android:layout_alignParentBottom="true" />

this.map.setOnLongPressListener(new OnLongPressListener() {

public void onLongPress(float x, float y) {

Point pt = Navigation.this.map.toMapPoint(x, y);

Navigation.this.label.setText("X:"+pt.getX() + " Y:" + pt.getY());

}

});

运行一下程序,然后用鼠标在模拟器上模拟一个长按的操作,你可以看到底部的文本框中显示了当前的坐标值,如图 21:

clip_image004

21 长按屏幕后显示坐标值

MapView总共支持的事件类型如下,通过这些监听我们可以在用户进行导航和触屏操作的时候进行自己需要的处理:

事件监听

触发条件

OnLongPressListener

在MapView上长按时

OnMapExtentChangedListener

MapView的地图范围改变时

OnPanListener

在MapView中拖动地图时

OnPinchListener

在MapView上两指缩放操作时

OnSingleTapListener

在MapView上单击时

OnStatusChangedListener

在MapView的状态改变,比如被创建或初始化时

OnZoomListener

在MapView被缩放时

MapOnTouchListener

在MapView上按住并移动(类似绘图操作)时

分享到:
评论

相关推荐

    ArcGIS API for Android 案例教程

    ArcGIS API for Android 案例教程 ArcGIS API for Android 是 ESRI 公司推出的 Android平台上的 GIS 应用程序接口。通过本教程,我们将学习如何使用 ArcGIS API for Android 开发 Android 平台上的 GIS 应用程序。 ...

    《ArcGIS API for Android 案例教程》PDF版本

    《ArcGIS API for Android 案例教程》是一份详尽的指南,旨在帮助开发者理解和掌握如何使用ESRI的ArcGIS API在Android平台上构建地理信息系统(GIS)应用。该教程覆盖了从开发环境的配置、基础概念的理解,到具体...

    ArcGIS API for Android离线文档

    《ArcGIS API for Android离线文档》是一款专为Android开发者设计的工具,它包含了使用Esri公司的ArcGIS系统在Android平台上开发地图应用所需的所有技术文档。这个离线文档旨在帮助开发者在没有网络连接的情况下,也...

    ArcGIS-API-for-Android.rar_Android arcgis_ArcGIS API_android_arc

    《ArcGIS_API_for_Android_案例教程.pdf》这份文档会更详细地介绍每个步骤,包括示例代码和实践项目,帮助开发者从基础到进阶全面了解和运用ArcGIS API for Android。 通过以上内容,你应该对ArcGIS API for ...

    ArcGIS API for Android1.01

    总之,ArcGIS API for Android 1.01 是开发者构建地理信息系统应用的强大工具,结合提供的案例教程和相关资源,可以助力开发者快速掌握并应用这项技术,为Android用户提供丰富的地图服务和地理信息应用。

    ArcGIS+API+for+Android+案例教程

    **ArcGIS Android API 案例教程** ArcGIS API for Android 是Esri公司推出的一款用于在Android平台上构建地理...通过阅读《ArcGIS API for Android案例教程.pdf》,你将深入理解并掌握这些技术,开启你的GIS开发之旅。

    ArcGIS+API+for+Android+案例教程.pdf

    根据给定文件内容,以下是关于ArcGIS API for Android 案例教程的知识点总结: ### ArcGIS API for Android 概述 ArcGIS API for Android 是一套开发者工具,允许开发者在Android平台上创建富地理信息系统(GIS)...

    ArcGIS for android实例

    **ArcGIS for Android 实例详解** ArcGIS for Android 是Esri公司开发的一款强大的地理信息系统(GIS)开发框架,专门用于构建Android平台上的地图应用。它提供了丰富的地图展示、地理数据分析和空间服务集成等功能...

    arcgis for android 10.1

    “ArcGIS+API+for+Android+案例教程.pdf”包含了一系列实际应用场景的示例,帮助开发者理解如何将GIS技术应用于不同的业务场景,如交通导航、环境监测、公共安全等,这些案例能帮助开发者积累实践经验,提高问题...

    ArcGIS+for+Android 开发教程基础版

    《ArcGIS for Android 开发教程基础版》是针对在Android平台上使用Esri的ArcGIS SDK进行地图应用开发的初学者而编写的指南。ArcGIS是一款强大的地理信息系统(Geographic Information System),它允许开发者创建、...

    ArcGIS_API_for_Android.zip_Arcgis for android_android

    附带的`ArcGIS_API_for_Android_案例.pdf`可能包含具体的示例代码和教程,帮助开发者快速理解和上手ArcGIS API在Android上的应用。这些案例可能涵盖地图加载、图层操作、地理编码、标记添加、图形绘制等多个方面,是...

    ArcGIS for Android 100.4.0示例完整源码

    **ArcGIS for Android 100.4.0 示例完整源码详解** ArcGIS for Android 是 Esri 公司提供的一款强大的地理信息系统 (GIS) 开发框架,它允许开发者在 Android 平台上构建地图应用,集成空间分析和数据管理功能。此...

    ArcGIS API for Windows Phone开发教程

    ### ArcGIS API for Windows Phone 开发教程精要 #### 一、为什么选择Windows Phone作为开发平台? 在选择移动操作系统时,iOS、Android 和 Windows Phone 是三个主要的选择。本节将重点探讨选择 Windows Phone 的...

    ArcGIS for Android 100.5 完整示例代码

    **ArcGIS for Android 100.5 完整示例代码详解** ArcGIS for Android 是Esri公司推出的一款强大的地图开发工具,它允许开发者在Android平台上构建具有地图功能的应用程序。版本100.5提供了最新的特性和优化,旨在...

    arcgis android api案例教程

    ### arcgis android api案例教程 #### 一、概述 ##### Android环境 在开始学习之前,首先需要搭建一个适合开发ArcGIS Android应用的环境。这里提到的环境为Windows 7操作系统,搭配ArcGIS Server 10以及ArcGIS ...

    arcgis forandroid helloword

    总的来说,"ArcGIS for Android HelloWorld"是一个快速入门的教程,帮助开发者熟悉ArcGIS for Android的基本操作和概念。通过这个简单的例子,开发者可以逐步深入学习,掌握更高级的GIS应用开发技巧,为构建复杂的...

    arcgis for android10.2.5 实例源码

    《ArcGIS for Android 10.2.5 实例源码详解》 ArcGIS for Android 是Esri公司推出的一款强大的地理信息系统(GIS)开发工具,它允许开发者在Android平台上构建地图应用,提供丰富的地理数据处理和展示功能。本文将...

    ArcGIS for Android 2.0开发教程

    Portal API是ArcGIS for Android应用中用于连接和使用ArcGIS Online资源的API,包括连接Portal、获取组织信息、获取用户、群组和项目信息、搜索Portal和使用WebMap等功能。 应用程序部署包括对应用进行签名和分发,...

Global site tag (gtag.js) - Google Analytics