仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2428|回复: 20
打印 上一主题 下一主题

[学习教程] IOS编程之基于google舆图纪录用户旅游轨迹仓酷云

[复制链接]
灵魂腐蚀 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:39:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
如果你现在开始学到编出像样的APPiOS5可能已经普及了可以直接用ARC(另之前对ARC的了解很粗浅现在开发程序完全可以直接ARCiOS4不支持的weak是有办法替代的用unsafe_unretained在列入奔腾马拉松的时分,小组的项目构想是基于挪动交际收集做一个纪录用户旅游轨迹和照片的APP使用。
即当用户在旅游过程当中,手时机不中断的上报GPS坐标到服务器,服务器会保留一切坐标到数据库,然后用户翻开本人的旅纪行录后,我们会在手机上创立一个全屏的舆图,经由过程服务器CGI猎取一切GPS的坐标点,然后经由过程这些坐标点绘制出一条线。
同时,我们还能够在舆图上打上一些锚点来纪录用户的乐趣点,如宣布心境、宣布旅游的所见所闻、宣布顺手拍等等。点击锚点还会呈现一个气泡,即可以检察响应的信息,点击检察demo。以下图所示:

<br>
手艺细节简介


  • 下面的界面展现效果都是基于HTMLCSSJS的,如许的优点是不必要体贴手机硬件和操纵体系差别,究竟如今几近一切的操纵体系都撑持HTML5尺度。
  • 在此次项目中我利用的JQ1.9.1,次要用来简化JS的誊写和兼容PC。
  • 再就是GoogleMapsAPI3v,这是谷歌最新的舆图API,利用起来十分复杂,文档和示例也十分多。
接上去我们看看怎样经由过程以上手艺StepbyStep构建这个用户轨迹和乐趣点展现页面。这里次要是基于PC真个页面先容,挪动真个兼容会在前面详细申明。
Step1创立GoogleMap


<br>
如上图先创立一个舆图:包含初始化设置(mapOptions),和New一个GoogleMap对象传进我们必要衬着的DIV元素。上面是参数注释:
zoom是翻开舆图的缩小倍数,缩小倍数也许在1-13之间,有些中央没法到达10以上的倍数;
center是初始化中央点坐标;
mapTypeId是接纳的舆图范例,好比公路舆图仍是卫星舆图;
mapTypeControl、panControl、zoomControl、streetViewControl这些都是我们翻开默许的谷歌舆图的时分右边浮动显现的那些操纵工具,好比舆图范例把持器,舆图挪动把持器,舆图倍数把持器,街区查询把持器,在这个项目中不必要这些把持器,以是全体给它设置的false封闭了。最初运转效果以下所示:

<br>
依据我们传进的初始化参数,也许的中央点就是中国的恩施,缩小倍数方才好扫瞄乡村省分。接上去我们看看怎样在这个舆图上画出一条旅游线路和安排一些锚点。
Step2盘算轨迹和安排锚点


<br>
如上代码所示:假定data是我们从服务器那儿猎取的一个GPS坐标数组。
1、起首,我们创立一个经纬度局限对象,将这些点都放到这个对象中往;
2、然后再放到一个coordinates数组中;
3、我们能够用Polyline对象和这些GPS数组在舆图上画一条线,再经由过程经纬度局限对象盘算一切点的中央点坐标和一个符合的缩小倍数;
4、线画完后,我们能够经由过程谷歌供应Marker对象将一个GPS锚点放到舆图上往,这个锚点也是用户宣布的形态的一个乐趣点。
用户想看哪个乐趣的内容只必要点击或则触摸一下这个锚点便可冒出一个气泡信息,以下图所示,这个跟iPhone的相册舆图是相似

<br>




Step3气泡展现:

在这里因为谷歌API没有供应跟营业相干的气泡类,以是这里的气泡是自界说的,也许的思绪就是一个相对定位的DIV对象,然后经由过程谷歌的API将坐标换算成全部舆图DIV的X坐标和Y坐标,因为自界说代码对照长以是,以是在此不具体申明,详细代码能够检察demo里的directions.js文件。我们间接运转这些代码,效果以下图所示:

<br>
<br>
step4挪动端优化
挪动设备上的幻灯片通常为人机交互的,也就是用户经由过程手指来自动或半主动的关照幻灯片是不是切换,这个时分我们就用到了touchstart、touchmove、touchend三个事务,当产生touchstart的时分我们必要纪录入手下手坐标,然后用户在一直的滑动的时分touchmove工夫会不中断地触发,这个时分再次经由过程事务的坐标盘算图片容器的地位,当滑动停止后touchend事务会被触发,这个时分全部用户操纵历程停止,次要代码以下所示:

<br>
固然这个历程固然很复杂,可是算法仍是对照庞大的,比方我们用iPhone相册的时分,会呈现以下几种情况:
1、触摸工夫假如十分短,不论滑动间隔有多长,图片城市被切换到下一张,
2、假如工夫对照迟缓,触摸的间隔假如小于屏幕宽度的一半,图片则会回回初始地位。
3、假如年夜于屏幕宽度的一样平常,则主动滑动到下一张。

继承自相应的不可变类比如NSMutableArray继承自NSArray他们都添加了可以改变对象内容的方法比如-(void)addObject:(id)anObject添加对象-(void)removeObject:(id)anObject删除对象上面只是一个大概的总结
柔情似水 该用户已被删除
沙发
发表于 2015-1-21 12:16:50 | 只看该作者
才在自己的Windows电脑上安装配置成功了一个完美的Mac OS X Lion(10.7.4)系统,而且下载了Xcode4.5的最新版本。虽然不能实机调试,但是作为iOS开发学习已经非常完美了。
兰色精灵 该用户已被删除
板凳
发表于 2015-1-25 18:05:39 | 只看该作者
iPhone文件系统NSFileManager讲解是本文要介绍的内容,主要是通过iphone文件系统来学习NSFileManager的使用方法,具体内容来看本文详解。
小女巫 该用户已被删除
地板
发表于 2015-2-3 12:28:31 | 只看该作者
培训的时候很痛苦,每天要待12个小时,上午讲课,下午和晚自习解决作业,看文档,学习的时候感觉就是资料太少,而且看着资料也不明所以,非常痛苦,
再见西城 该用户已被删除
5#
发表于 2015-2-5 19:25:53 | 只看该作者
这个办法就是在WindowsXP或Win7的电脑上,使用vmware虚拟机来搭建一个真实的Mac OS X环境。
山那边是海 该用户已被删除
6#
发表于 2015-2-13 05:37:18 | 只看该作者
有办法利用自己手头的电脑立刻开始这个美妙旅程的。
灵魂腐蚀 该用户已被删除
7#
 楼主| 发表于 2015-3-1 18:02:13 | 只看该作者
中国如今已然发展成为一个软件大国,软件人才的数量跃居全球之首。当然,在苹果平台的开发领域,也保持了相当强劲的发展势头。然而,很多初入iOS开发门槛的开发者,
爱飞 该用户已被删除
8#
发表于 2015-3-2 11:22:10 | 只看该作者
AD: iPhone文件系统NSFileManager讲解是本文要介绍的内容,主要是通过iphone文件系统来学习NSFileManager的使用方法,具体内容来看本文详解。
第二个灵魂 该用户已被删除
9#
发表于 2015-3-4 11:08:49 | 只看该作者
在此,某不才愿将安装成功的Mac OS X系统的vmware虚拟机向有志学习iOS开发的各位学友们免费开放出来,经测试,可以在WindowsXP/Win7系统上完美运行,即便你的机器只有2GB内存。
再现理想 该用户已被删除
10#
发表于 2015-3-11 18:33:18 | 只看该作者
有办法利用自己手头的电脑立刻开始这个美妙旅程的。
变相怪杰 该用户已被删除
11#
发表于 2015-3-12 14:24:53 | 只看该作者
因为我们老师也是自学的,给我们讲课说的最多的就是百度,谷歌,查文档。
冷月葬花魂 该用户已被删除
12#
发表于 2015-3-19 22:43:43 | 只看该作者
在百度搜索你想要了解的类名(苹果的cocoa和cocoatouch框架的类名很有特点很容易搜到,前缀都是NS or UI),看别人写的博客详解
海妖 该用户已被删除
13#
发表于 2015-3-29 10:30:14 | 只看该作者
中国如今已然发展成为一个软件大国,软件人才的数量跃居全球之首。当然,在苹果平台的开发领域,也保持了相当强劲的发展势头。然而,很多初入iOS开发门槛的开发者,
莫相离 该用户已被删除
14#
发表于 2015-4-1 02:18:44 | 只看该作者
培训时可以选择安卓,iOS,Java,因为实习的时候我选了安卓,当时实习时间只有三周,学的晕头转向,而java我也没学过,iOS的基础是C语言,这个大学里还是学过的,于是选择了iOS。
深爱那片海 该用户已被删除
15#
发表于 2015-4-5 13:38:49 | 只看该作者
在此,某不才愿将安装成功的Mac OS X系统的vmware虚拟机向有志学习iOS开发的各位学友们免费开放出来,经测试,可以在WindowsXP/Win7系统上完美运行,即便你的机器只有2GB内存。
16#
发表于 2015-4-11 05:11:32 | 只看该作者
中国如今已然发展成为一个软件大国,软件人才的数量跃居全球之首。当然,在苹果平台的开发领域,也保持了相当强劲的发展势头。然而,很多初入iOS开发门槛的开发者,
金色的骷髅 该用户已被删除
17#
发表于 2015-4-15 09:18:06 | 只看该作者
iPhone文件系统:创建、重命名以及删除文件,NSFileManager中包含了用来查询单词库目录、创建、重命名、删除目录以及获取/设置文件属性的方法(可读性,可编写性等等)。
只想知道 该用户已被删除
18#
发表于 2015-5-1 06:39:26 | 只看该作者
还有开发工具是用Xcode,是在Mac系统的,你多摸索一下就可以开发简单的应用了,建议你买一本iphone开发秘籍第二版看看,希望可以帮到你,谢谢。
简单生活 该用户已被删除
19#
发表于 2015-5-1 16:11:45 | 只看该作者
这个办法就是在WindowsXP或Win7的电脑上,使用vmware虚拟机来搭建一个真实的Mac OS X环境。
愤怒的大鸟 该用户已被删除
20#
发表于 2015-5-1 23:10:30 | 只看该作者
然而,在vmware软件环境下,安装Mac OS X操作系统也是一件非常复杂的事情,而且还有可能花费了大量时间,最后却跑不起来。笔者也是经过了大量的实践,
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-2 15:21

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表