Monthly Archives: December 2010

在iPad中显示实时交通地图

本文只讨论技术上在ArcGIS API for iOS中加载路况地图的可能性,如果想使用路况地图服务,请联系MapABC 在移动的地图应用中,如果能够显示实时交通地图,那么对我们的开车、出行当提供极大的便利。 MapABC作为国内领先的地图服务提供商,很早之前就提供了在线的实时路况地图,地址如下: http://mapabc.com/lukuang/beijinglukuang.html 那么我们可以将该路况地图加载到我们的移动端应用中,为我们的出行服务。 在ArcGIS API for iOS中,提供了很好的扩展机制来完成自定义图层的加载,比如前面文章提到的google map的加载。 关于ArcGIS API for iOS的扩展,大家可以参考下面的文章: http://blogs.esri.com/Dev/blogs/mobilecentral/archive/2010/12/13/Developing-a-custom-tiled-layer.aspx 要在iPad中使用ArcGIS API for iOS加载自定义图层,就需要对加载的地图tiled参数有所了解。 天地图的参数分析请看下面的文章: http://www.giser.net/?p=119 通过对MapABC的分析,发现其切图方式基本与google相同,并且url也是类似,因此可以使用加载google map的方式来加载路况地图,唯一的区别是路况地图要每隔2分钟刷新一次,用来保证地图的实时性。 关于如何加载google 地图等切图服务,后面会有详细文章介绍,下面还是直接放图:

ArcGIS, ArcGIS API for iOS, google map, iOS, iPad, iPhone4 Leave a comment

iphone/ipad中代码下拉屏幕刷新的方法

在当前比较流行的iphone/ipad 应用中,下拉屏幕进行刷新非常流行,例如新浪微博,玩转四方,facebook,qq等,在刷新的时候都会使用下拉屏幕的方式来进行。 在github.com上有一个开源的实现该功能的工程,名为EGOTableViewPullRefresh,下载地址如下: https://github.com/enormego/EGOTableViewPullRefresh 该工程使用非常简单,提供了一个EGORefreshTableHeaderView视图供大家使用,并且提供EGORefreshTableHeaderDelegate来帮助用户获取更新的状态。 @protocol EGORefreshTableHeaderDelegate – (void)egoRefreshTableHeaderDidTriggerRefresh:(EGORefreshTableHeaderView*)view; – (BOOL)egoRefreshTableHeaderDataSourceIsLoading:(EGORefreshTableHeaderView*)view; @optional – (NSDate*)egoRefreshTableHeaderDataSourceLastUpdated:(EGORefreshTableHeaderView*)view; @end 下面放一张运行的截图,感兴趣的朋友可以下载下来研究一下。

iOS, iPad, iPhone4 Leave a comment

给iOS SDK中的表格控件(UITableView)添加背景图

在做ios开发的过程中,经常需要使用到UITableView,比如说显示数据,制作登录框等,那么在很多时候为了美观和好看,需要给UITableView增加一个背景图,比如在做登陆框的时候,界面上显示的信息比较少,那么我们就需要一个背景图来充实整个界面,并表达出系统的内涵。 那么如何给UITableView添加背景图呢,可以按照方法: 1 在UITableView控件下面添加一个UIImageView控件,如图1,顺序不可更改,否则会压盖 2 将UITableView的background设置为ClearColor,如图2 3 同样的,将UITableView的父视图的background设置为ClearColor 4 这样背景图就设置好了,我们看一下效果,如图3: 5 可以发现在UITableView的四个转角地方有黑色块,没有完全使用背景图,非常难看,那么如何解决这个问题呢,只要在UITableView所在的ViewController种的viewDidLoad方法种添加下面的代码: – (void)viewDidLoad { self.tableView.backgroundColor = [UIColor clearColor]; } 也就是重新把tableView的backgroundColor 设置为clearColor。 谨慎怀疑这时ios的一个bug。 最后的效果如图4: 开发环境为xcode3.2.3 +ios sdk4.0

iOS, iPad, iPhone4 Leave a comment

天地图切图Schema研究

本文只是在技术上猜测,没有任何根据,如想使用天地图服务,请直接联系天地图公司。 天地图是中国区域内数据资源最全的地理信息服务网站,同时将为公众提供权威、可信、统一的地理信息服务,在我国的公共服务平台建设中将起到重要作用,那么为了在其他系统中使用天地图的地图服务,就很有必要对天地图的切图schema研究一番。 下面就把天地图切图schema的主要参数列举一下: 1 参考系 :wgs84 (4326) 2 切图原点(-180,90) 3 切图范围(-180,-90,180,90) 4 切图级别18级,比例尺和分辨率分别为: {“level” : 1, “resolution” : 0.3515625, “scale” : 147748799.285417}, {“level” : 2, “resolution” : 0.17578125, “scale” : 73874399.6427087}, {“level” : 3, “resolution” : 0.087890625, “scale” : 36937199.8213544}, {“level” : 4, “resolution” : 0.0439453125, “scale” : 18468599.9106772}, {“level” : 5, “resolution” : 0.02197265625, […]

ArcGIS, ArcGIS API for iOS, iOS Leave a comment

ArcGIS API for iOS开发教程六 使用GP服务

在本章中我们将以危险品扩散分析举例,来介绍如何在ArcGIS API for iOS中调用GP服务。 1、按照前几章介绍的步骤来创建一个基本的地图应用程序,命名为GPDemo。 2、按照【ArcGIS API for iOS开发之旅】Graphic Layer中的步骤,定义一个GraphicsLayer并添加到地图视图中。 3、打开GPDemoViewController.h文件,在声明中添加AGSMapViewDelegate和AGSGeoprocessorDelegate,代码如下所示: @interface GPDemoViewController : UIViewController{ AGSMapView *mapView; AGSGraphicsLayer *graphicsLayer; } 4、打开GPDemoViewController.m文件,实现AGSMapViewDelegate的 -(void)mapview:(AGSMapView *)mapView didClickAtPoint:(CGPoint)screen mapPoint:(AGSPoint *)mappoint graphics:(NSDictionary *)graphics方法。代码如下: – (void)mapView:(AGSMapView *)mapViewdidClickAtPoint:(CGPoint)screen mapPoint:(AGSPoint *)mappoint graphics:(NSDictionary *)graphics { [self.graphicsLaye rremoveAllGraphics]; AGSPictureMarkerSymbol *pt = [AGSPictureMarkerSymbol pictureMarkerSymbolWithImageNamed:@”pushpin.png”]; // this offset is to line the symbol up with the map […]

ArcGIS, ArcGIS API for iOS, iOS, iPad Leave a comment

成功使用ArcGIS API for iOS加载Google地图

终于能够使用ArcGIS API for iOS加载Google地图,同样的道理我们还可以加载百度地图,mapabc ,mapbar,天地图等等国内的地图,这对国内用户来说在使用国内地图方面又提供了更多选择,当然要在取得国内地图服务商的授权情况下才能使用。 使用ArcGIS API for iOS加载Google地图的原理和flex API 以及silverlight API 加载Google的地图原理一样,主要是继承TileMapLayer,实现对不同数据源的访问,在ArcGIS API for ios中如何扩展TileMapLayer后面会有详细教程,这里就不多说了,先看两张图:

ArcGIS, ArcGIS API for iOS, google map, iOS 6 Comments

ArcGIS API for Flex and ArcGIS Viewer for Flex 2.2 发布

主要改进如下: 1 支持ArcGIS.com Web Maps 2 新的图例组建和图例widget 3 编辑的时候支持Undo/Redo 4 Draw, Data Extract, Query, Search, Static Image, and Time Slider等6个widget用户体验增强。 详细的更新请查看: http://help.arcgis.com/en/webapi/flex/help/index.html#whats_new.htm http://help.arcgis.com/en/webapps/flexviewer/help/index.html#whats_new.htm

ArcGIS, ArcGIS API for flex, Flex Viewer, RIA Leave a comment

File Geodatabase API 即将推出

File Geodatabase API是一个不依赖于ArcObjects来访问的File GDB的API,基于c++实现,该API可以说千呼万唤始初来,从08年用户大会就开始宣传,现在才确定明年1月份提供beta版。 File Geodatabase API的目的主要是使开发人员不必使用ArcObjects的授权即可以访问File Geodatabase,因此可以把File Geodatabase当作一种交换数据格式来使用,可以共享、交换数据,也许可以取代shapefile。 File Geodatabase API 是使用c++开发,并且只支持ArcGIS10 及其以后的File Geodatabase, 内部版本会提供c++类库(dll,lib,.h)以及API文档,并且仅支持windows。 下面介绍一下File Geodatabase API功能: 1 创建、打开删除file GDB 2 读取Geodatabase的schema(地理数据库中所有内容都可以只读方式打开) 3 创建简单要素模型的schema(包括表,点、线、面要素类,要素数据集,域以及子类型) 4 读取File Geodatabase中数据集的内容 5 插入、删除编辑简单数据集(点、线、面要素类以及Multipoint, Multipatch要素类 ) 6 执行属性查询和空间查询(只能执行外包络矩形查询) 7 浏览关系和使用附件 File Geodatabase API 和ArcObjects的关系如下图1-1: File Geodatabase API不能取代ArcObjects,因此很多ArcObjects提供的功能都没有,例如不能对复杂地理数据库类型进行插入、删除、更新操作: 1 注记和维要素类 2 关系类 3 几何网络和网络数据集 4 拓扑类 5 Terrains 6 […]

ArcGIS, File Geodatabase API 1 Comment

Esri认证考试项目正式上线

12月27日开始,Esri全球合作伙伴可以申考,2011年1月17日软件用户可以申考。 http://training.esri.com/certification/ 晒一下我的证书:

ArcGIS 4 Comments

霾计算

5+8等于几,抬头看看北京的天,一拍大腿,等于12!这就是霾计算!

other 1 Comment