- 浏览: 7338826 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (1546)
- 企业中间件 (236)
- 企业应用面临的问题 (236)
- 小布Oracle学习笔记汇总 (36)
- Spring 开发应用 (54)
- IBatis开发应用 (16)
- Oracle基础学习 (23)
- struts2.0 (41)
- JVM&ClassLoader&GC (16)
- JQuery的开发应用 (17)
- WebService的开发应用 (21)
- Java&Socket (44)
- 开源组件的应用 (254)
- 常用Javascript的开发应用 (28)
- J2EE开发技术指南 (163)
- EJB3开发应用 (11)
- GIS&Mobile&MAP (36)
- SWT-GEF-RCP (52)
- 算法&数据结构 (6)
- Apache开源组件研究 (62)
- Hibernate 学习应用 (57)
- java并发编程 (59)
- MySQL&Mongodb&MS/SQL (15)
- Oracle数据库实验室 (55)
- 搜索引擎的开发应用 (34)
- 软件工程师笔试经典 (14)
- 其他杂项 (10)
- AndroidPn& MQTT&C2DM&推技术 (29)
- ActiveMQ学习和研究 (38)
- Google技术应用开发和API分析 (11)
- flex的学习总结 (59)
- 项目中一点总结 (20)
- java疑惑 java面向对象编程 (28)
- Android 开发学习 (133)
- linux和UNIX的总结 (37)
- Titanium学习总结 (20)
- JQueryMobile学习总结 (34)
- Phonegap学习总结 (32)
- HTML5学习总结 (41)
- JeeCMS研究和理解分析 (9)
最新评论
-
lgh1992314:
[u][i][b][flash=200,200][url][i ...
看看mybatis 源代码 -
尼古拉斯.fwp:
图片根本就不出来好吧。。。。。。
Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传 -
ln94223:
第一个应该用排它网关吧 怎么是并行网关, 并行网关是所有exe ...
工作流Activiti的学习总结(八)Activiti自动执行的应用 -
ZY199266:
获取不到任何消息信息,请问这是什么原因呢?
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息 -
xiaoyao霄:
DestinationSourceMonitor 报错 应该导 ...
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息
GIS的学习(四十三)osmdroid基于几个经典代理类
在osmdroid中给基于位置的代理类如下:
package org.osmdroid; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.os.Bundle; public class LocationListenerProxy implements LocationListener { private final LocationManager mLocationManager; private LocationListener mListener = null; public LocationListenerProxy(final LocationManager pLocationManager) { mLocationManager = pLocationManager; } public boolean startListening(final LocationListener pListener, final long pUpdateTime, final float pUpdateDistance) { boolean result = false; mListener = pListener; for (final String provider : mLocationManager.getProviders(true)) { if (LocationManager.GPS_PROVIDER.equals(provider) || LocationManager.NETWORK_PROVIDER.equals(provider)) { result = true; mLocationManager.requestLocationUpdates(provider, pUpdateTime, pUpdateDistance, this); } } return result; } public void stopListening() { mListener = null; mLocationManager.removeUpdates(this); } @Override public void onLocationChanged(final Location arg0) { if (mListener != null) { mListener.onLocationChanged(arg0); } } @Override public void onProviderDisabled(final String arg0) { if (mListener != null) { mListener.onProviderDisabled(arg0); } } @Override public void onProviderEnabled(final String arg0) { if (mListener != null) { mListener.onProviderEnabled(arg0); } } @Override public void onStatusChanged(final String arg0, final int arg1, final Bundle arg2) { if (mListener != null) { mListener.onStatusChanged(arg0, arg1, arg2); } } }
获取当前的位置:
package org.osmdroid.util; import org.osmdroid.util.constants.UtilConstants; import android.location.Location; import android.location.LocationManager; public class LocationUtils implements UtilConstants { /** * This is a utility class with only static members. */ private LocationUtils() { } /** * Get the most recent location from the GPS or Network provider. * @param pLocationManager * @return return the most recent location, or null if there's no known location */ public static Location getLastKnownLocation(final LocationManager pLocationManager) { if (pLocationManager == null) { return null; } final Location gpsLocation = pLocationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER); final Location networkLocation = pLocationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER); if (gpsLocation == null) { return networkLocation; } else if (networkLocation == null) { return gpsLocation; } else { // both are non-null - use the most recent if (networkLocation.getTime() > gpsLocation.getTime() + GPS_WAIT_TIME) { return networkLocation; } else { return gpsLocation; } } } }
具体的使用如下:
启动时候:
mLocationListener = new LocationListenerProxy(mLocationManager);
result = mLocationListener.startListening(this, mLocationUpdateMinTime,
mLocationUpdateMinDistance);
停止时候:
if (mLocationListener != null) {
mLocationListener.stopListening();
}
mLocationListener = null;
针对指南针使用的感应事件代理:
package org.osmdroid; import android.hardware.Sensor; import android.hardware.SensorEvent; import android.hardware.SensorEventListener; import android.hardware.SensorManager; public class SensorEventListenerProxy implements SensorEventListener { private final SensorManager mSensorManager; private SensorEventListener mListener = null; public SensorEventListenerProxy(final SensorManager pSensorManager) { mSensorManager = pSensorManager; } public boolean startListening(final SensorEventListener pListener, final int pSensorType, final int pRate) { final Sensor sensor = mSensorManager.getDefaultSensor(pSensorType); if (sensor == null) return false; mListener = pListener; return mSensorManager.registerListener(this, sensor, pRate); } public void stopListening() { mListener = null; mSensorManager.unregisterListener(this); } @Override public void onAccuracyChanged(final Sensor pSensor, final int pAccuracy) { if (mListener != null) { mListener.onAccuracyChanged(pSensor, pAccuracy); } } @Override public void onSensorChanged(final SensorEvent pEvent) { if (mListener != null) { mListener.onSensorChanged(pEvent); } } }
使用时:
if (mSensorListener == null) {
mSensorListener = new SensorEventListenerProxy(mSensorManager);
result = mSensorListener.startListening(this, Sensor.TYPE_ORIENTATION,
SensorManager.SENSOR_DELAY_UI);
}
if (mSensorListener != null) { mSensorListener.stopListening(); } // Reset values mSensorListener = null;
发表评论
-
TestNG简单的学习(十三)TestNG中Junit的实现
2013-12-04 09:00 3355TestNG和junit的整合 ... -
TestNG简单的学习(十二)TestNG运行
2013-12-03 09:08 51587文档来自官方地址: ... -
TestNG简单的学习(十一)TestNG学习总结
2013-12-03 09:08 14198最近一直在学习关于TestNG方面的知识,根 ... -
TestNG简单的学习(十)TestNG @Listeners 的使用
2013-12-03 09:07 8694TestNG官方网站: http://testng.or ... -
TestNG简单的学习(九)TestNG Method Interceptors 的使用
2013-12-03 09:07 2714TestNG官方网站: http://testng ... -
TestNG简单的学习(八)TestNG Annotation Transformers 的使用
2013-12-03 09:07 2810TestNG官方网站: http://testng.or ... -
TestNG简单的学习(七)TestNG编程方式运行
2013-12-02 09:22 2454TestNG官方网站: http://testng.or ... -
TestNG简单的学习(六)测试工厂注释的使用
2013-12-02 09:22 2784TestNG官方网站: http://testng.or ... -
TestNG简单的学习(五)参数化测试数据的定制
2013-12-02 09:22 2702TestNG官方网站: http://testng.or ... -
TestNG简单的学习(四)测试方法通过名称名称依赖实现
2013-12-02 09:21 2082TestNG官方网站: http://testng.or ... -
TestNG简单的学习(三)测试方法通过测试分组依赖实现
2013-12-02 09:21 2830TestNG官方网站: http://testng.or ... -
TestNG简单的学习(二)参数化测试并发且多方法测试方法判定
2013-11-29 15:35 3702TestNG官方网站: http://testng.or ... -
TestNG简单的学习(一)类和方法级别@Test的区别
2013-11-29 15:31 9425TestNG官方文档的地址: http://testng ... -
Feed4Junit的简单使用(七)Feed4TestNg
2013-11-29 13:35 6133在Feed4Junit主要针对junit实现的 ... -
Feed4Junit的简单使用(六)数据来特定格式文件
2013-11-29 12:29 2767Feed4Junit官方地址: http://da ... -
Feed4Junit的简单使用(五)数据来自动态约束数据
2013-11-29 12:29 2631Feed4Junit官方地址: http://datab ... -
Feed4Junit的简单使用(四)数据来自定义数据源
2013-11-28 14:09 3103Feed4Junit官方地址: http://databe ... -
Feed4Junit的简单使用(三)数据源来自数据库
2013-11-28 13:58 3170Feed4Junit官方地址: http://databe ... -
Feed4Junit的简单使用(二)数据源来自文件
2013-11-28 13:50 4571Feed4Junit官方地址: http://datab ... -
Feed4Junit的简单使用(一)
2013-11-28 13:47 2215Feed4Junit官方地址: http://databe ...
相关推荐
GIS的基础知识包括以下几个关键部分: 1. 地图学基础:地图是GIS的核心,理解地图投影、比例尺、图例等基本概念至关重要。地图投影是指将球面或曲面的地理信息转换到平面上的方法,如墨卡托投影、UTM投影等。比例尺...
GIS学习主要包括以下几个方面: 1. **GIS基础理论**:理解GIS的核心概念,如空间数据模型(矢量和栅格)、坐标系与投影、地理编码、空间关系等。这些基础知识是GIS分析和应用的基础。 2. **GIS软件操作**:熟悉...
【资源说明】基于Vue实现一个功能简单的GIS数据大屏案例源码.zip基于Vue实现一个功能简单的GIS数据大屏案例源码.zip基于Vue实现一个功能简单的GIS数据大屏案例源码.zip基于Vue实现一个功能简单的GIS数据大屏案例源码...
为了实现基于Skyline的Web三维GIS系统,本研究着重探讨了以下几个关键技术: ##### 3.1 XML与数据交换 XML(可扩展标记语言)是一种用于标记电子文档的语言,它被广泛应用于不同系统之间的数据交换。在三维GIS中,...
《看漫画学习GIS》是一本独特且创新的学习资料,它通过漫画的形式,使GIS学习变得更加生动有趣,尤其适合初学者和对GIS感兴趣的人群。 GIS的历史可以追溯到20世纪60年代,当时的主要应用集中在土地规划和资源管理...
《ArcObjects GIS 应用开发 基于 C#.NET》是江西理工大学兰小机、刘德儿两位专家编著的一本专业书籍,主要聚焦于使用C#.NET语言进行GIS(地理信息系统)应用的开发。ArcObjects是Esri公司提供的核心开发组件,它允许...
通过学习《基于GIS的数量方法与应用》,读者不仅可以掌握GIS的基本操作,还能深入理解GIS在解决复杂空间问题时的数量方法。这有助于提升对空间数据的理解,增强数据分析和决策支持的能力,对于从事地理学、环境科学...
### 基于GIS的城市道路网最短路径算法优化 #### 概述 在现代城市交通管理中,寻找从一个地点到另一个地点的最短路径是一个至关重要的问题。这一问题不仅涉及交通规划、物流配送等领域,而且对于提高城市交通效率、...
本篇文章将深入探讨基于ArcGIS平台的二次开发,特别是如何利用C#语言和Visual Studio 2005创建一个小型GIS系统。 首先,我们要理解二次开发的概念。二次开发是指在已有的软件基础上,根据特定需求进行定制化的开发...
基于三维GIS系统景区综合管理系统基于三维GIS系统景区综合管理系统
《基于GIS的数量方法与应用》是一本由王发辉编著的专业书籍,主要探讨了GIS(Geographic Information System,地理信息系统)在人文地理研究中的实际应用。这本书是人文地理学者和GIS技术人员的重要参考资料,旨在...
【基于虚拟GIS(VGIS)、三维GIS(3DGIS)的辅助地理教学】 地理教学是教育体系中的一个重要组成部分,随着科技的发展,虚拟GIS(VGIS)和三维GIS(3DGIS)的应用为地理教学带来了全新的可能性。这两种技术的引入...
在GIS(地理信息系统)领域,基于ArcObjects与C#.NET的开发是构建地图应用程序和进行空间数据处理的常见方法。ArcObjects是Esri公司提供的一个强大的API(应用程序接口),它允许开发者利用C#等.NET语言来创建桌面、...
通过这个基于VC++的GIS二次开发项目,你可以深入学习C++编程技巧,同时提升GIS应用的开发能力。项目中的"shpread ultimate"可能是一个用于展示、编辑或分析地理数据的组件或工具,具体功能需要查看源代码或文档来...
很全面的、各种各样的地理信息系统学习网站
### 基于GIS与VR技术的三维城市 #### 一、引言 近年来,随着计算机科学技术和信息技术的迅速进步,“数字城市”概念逐渐成为推动城市发展的重要力量之一。数字城市的核心在于利用先进的信息技术来实现城市的信息化...
本文讨论的基于Google Earth API开发的网络三维GIS地理教学辅助系统的建设目标、设计思路、技术框架及主要功能的使用,为地理教学提供了全新的视角。Google Earth API是Google提供的一个工具集,允许开发者利用...