• 使用ArcGIS API for ios开发时的一些经验与问题


    使用ArcGIS API for ios开发时的一些经验与问题

    上一篇 / 下一篇  2011-02-09 15:53:44 / 个人分类:iOS开发

    http://www.gisall.com/html/71/22171.html

    一、  经验

    1、类的成员,除了可以在类内部值共享、类外部值传递以外,它还具有生存周期较长的特点。对于某些复杂结构,若将其定义成类成员,内存更容易管理。例如,ArcGIS API中的AGSMapServiceInfo,虽然作为局部变量使用,没有什么问题。但是,在内存释放时容易产生内存泄露。如将其设置为成员变量,则dealloc中进行释放则不会出现问题。

     

    2C语言中的数据类型:Objective-C可以兼容C语言的数据类型和方法。但是在使用时要小心,比如布尔型:boolC语言的,其值为0,1;而BOOLObjective-C的数据类型,其值为YES NO

     

    3、使用ArcGIS API绘制多边形,如果需要将绘制好的多边形提交给服务端时,则多边形的最后一个端点必须与第一个端点一致。

     

    4Objective-C中包含一个特殊类NSNull,利用他可以对某些值是否为空类型进行判断,如:

    if (NSNull *)typenum != [NSNull null])

    这里判断的是对象的类型是否为空。当对象的类型不为空,其值为空时,使用的是nil

     

    5UITableView的显示机制和以往的程序写法稍有不同,它通过回调函数,来获得表格有多少个栏目,每个栏目的名称,每个栏目包含子项的个数及子项的内容。这样的风格虽然有些别扭,但事实上是mvc的一种体现。即界面控件与数据分开。当表格界面(V)被打开时,利用回调函数(C)来GET数据(M),从而形成显示的条目。

     

     

    二、  问题

    1、  UIButton使用setImage:设置图片是没问题的。但是UIBarUIBarButtonItem若直接设置图片,则不能显示出来,原因不明。

    现在的解决方法是构造一个UIButton

    [customBtn setBackgroundImage:image forState:UIControlStateNormal];

    UIBarButtonItem *addPtItem = [[UIBarButtonItem alloc] initWithCustomView:customBtn];

     

    2、  当使用featureservice,从服务端获得多边形时,得到的端点顺序始终都是顺时针的。这样的数据结构,虽然比较严谨,易于管理,但是端点的编辑顺序就被忽略了。

     

    3、  AGSFeatureLayer包含有属性geometryType,它描述该图层的几何类型。而在实际的使用过程中,这一属性的解析获取会有些延误。若网络速度较慢,其默认的值是point。只有在图层完全load后,或作一些成功的查询操作后,geometryType才能获得准确的数据类型。

     

    4、  地图load完成的事件,好像目前还无法捕捉到。

     

    欢迎大家来讨论!~

  • 相关阅读:
    非线性方程(组):高维方程解法
    非线性方程(组):一维非线性方程(二)插值迭代方法 [MATLAB]
    非线性方程(组):一维非线性方程(一)二分法、不动点迭代、牛顿法 [MATLAB]
    非线性方程(组):计算基本理论
    常微分方程初值问题:多步预测-修正方法 [MATLAB]
    你会使用super()吗?你确定你了解它吗?
    Django简介
    Web框架的原理
    Django ORM 中的批量操作
    Python的切片
  • 原文地址:https://www.cnblogs.com/moonvan/p/2210440.html
Copyright © 2020-2023  润新知