phonegap 3.3教程 地理信息api教程
一 准备工作
phonegap3.3的地理信息教程.从零开始,首先要新建一个项目从命令行启动


可以看到这是默认的生成的www目录,在这个目录里是最原始的html文件,编译的时候在根据这里的文件生成android或者其他平台的项目文件.所以我们可以在这里进行一些基本的配置.
- 修改图标:修改icon.png就可以了
- 修改应用的名字,在config修改就好,可以添加作者信息.具体参加配置文件,不知道的去看文档
按照phonegap官方的建议,要用命令行方式建立应用.具体的命令参见官网http://docs.phonegap.com/en/3.3.0/guide_cli_index.md.html#The%20Command-Line%20Interface
接下来建立android的项目,官方的建议是添加platform,然后在编译.由于我只进行android开发,直接build一下就可以生成android的项目文件了,这是比较省事的做法.这里要注意的是必须进入到项目的目录f:\diliapi才可以进行编译

可以从中看到的信息,由于我运行phonegap build android命令的时候,没有进入到项目目录,所以提示项目目录找不到.
从build信息可以看出,首先寻找android sdk,所以要在环境变量里对android进行配置.使用本地环境变量设置.
可以看到有一条add android platform命令,自动添加了android平台的项目,然后编译.使用了默认的debug签名keystore文件

这是build命令自动生成的android项目文件,然后我们就可以在安装了adt的eclipse里根据这些代码新建文件.
这里会遇到的问题有:
- 如果项目报错,等待一会儿,然后右键单击项目文件,直接编译就好了
- 如果你选择修改diliapi目录下的www目录的文件的话,需要重新build,这个时候需要重复第一步操作,如果弹出提示框,点是,然后右键刷新项目编译
利用eclipse编写android程序在真机进行调试的速度要比用命令行run要快的多,比较节省时间.
二 然后进入正题,开始开发程序
phonegap 从3.x版本呢开始,架构发生了改变,所有的api都是插件的形式,在用的时候添加,监管方文档
http://docs.phonegap.com/en/3.3.0/cordova_geolocation_geolocation.md.html#Geolocation
$ cordova plugin add org.apache.cordova.geolocation $ cordova plugin ls ['org.apache.cordova.geolocation'] $ cordova plugin rm org.apache.cordova.geolocation
运行命令以后,会添加插件并且自动更改配置文件,build以后会自动更新android项目里的配置文件

如图所示.这样不用考虑配置文件的更新,命令行模式下就这点儿好.
接下来你有两个选择:
- 直接修改f:\DiliAPI\www\下的文件,然后每次用命令行build,然后在eclipse里运行到模拟机或者真机
- 直接在eclipse里面修改,但是如果如果重新修改f:\DiliAPI\www\下的文件并build,在eclipse里做的修改会被重置,所以最好拷贝下
在eclipse里利用已有代码建立android项目的方式请百度.




- 看到这个项目文件了吧.报错了,但是不要着急,右键刷新下就好了.其实甚至不用刷新,等一会它自己就好了,让代码飞一会儿
- 而且可以注意到src目录下,geolocation被导入.

建立后的项目.个人比较喜欢在dw编辑html和js文件,按自己的习惯来
调试logcat应用小技巧
代码里的console.log()属于D级信息,会在logcat显示.但是logcat在调试的时候会生成大量的信息,我们可以选择使用过滤功能.
我一般是写作:console.log("## "+"需要输出的信息");
然后利用##作为过滤符

这样会在大量的调试信息中过滤出console打印的信息.提高效率
需要注意到的是,phonegap默认不使用jquery mobile ui,大家可以在dw里面新建一个页面,然后会自动导入需要的css和js文件,如果你需要用jquery mobile ui的话.这个看你个人需要,到目前为止整个框架就搭建起来了,至于弄什么内容就看你自己了
我们可以删除原来的index.html文件,然后自己新建一个就好了.
android项目的html文件是在asset\www目录下的,所以大家修改这里的也可以的.
还有就是如果你的页面仅仅用到了jquery mobile而没有使用phonegap的话直接在浏览器里面的调试会更加快捷.
phonegap 3.3教程 地理信息api教程的更多相关文章
- Yii2框架RESTful API教程(二) - 格式化响应,授权认证和速率限制
之前写过一篇Yii2框架RESTful API教程(一) - 快速入门,今天接着来探究一下Yii2 RESTful的格式化响应,授权认证和速率限制三个部分 一.目录结构 先列出需要改动的文件.目录如下 ...
- Yii2框架RESTful API教程(一) - 快速入门
前不久做一个项目,是用Yii2框架写一套RESTful风格的API,就去查了下<Yii 2.0 权威指南 >,发现上面写得比较简略.所以就在这里写一篇教程贴,希望帮助刚接触Yii2框架RE ...
- Web动画API教程2:AnimationPlayer和Timeline
本文转载: Web动画API教程2:AnimationPlayer和Timeline
- Web动画API教程1:创建基本动画
本人转载自: Web动画API教程1:创建基本动画
- 【ASP.NET Web API教程】6.1 媒体格式化器
http://www.cnblogs.com/r01cn/archive/2013/05/17/3083400.html 6.1 Media Formatters6.1 媒体格式化器 本文引自:htt ...
- 【ASP.NET Web API教程】3.2 通过.NET客户端调用Web API(C#)
原文:[ASP.NET Web API教程]3.2 通过.NET客户端调用Web API(C#) 注:本文是[ASP.NET Web API系列教程]的一部分,如果您是第一次看本博客文章,请先看前面的 ...
- 【ASP.NET Web API教程】3 Web API客户端
原文:[ASP.NET Web API教程]3 Web API客户端 Chapter 3: Web API Clients 第3章 Web API客户端 本文引自:http://www.asp.net ...
- 【ASP.NET Web API教程】2.4 创建Web API的帮助页面
原文:[ASP.NET Web API教程]2.4 创建Web API的帮助页面 注:本文是[ASP.NET Web API系列教程]的一部分,如果您是第一次看本博客文章,请先看前面的内容. 2.4 ...
- 【ASP.NET Web API教程】2.3.7 创建首页
原文:[ASP.NET Web API教程]2.3.7 创建首页 注:本文是[ASP.NET Web API系列教程]的一部分,如果您是第一次看本博客文章,请先看前面的内容. Part 7: Crea ...
随机推荐
- Nginx下TIME_WAIT过多的调优
查看Nginx并发状态 #netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' TIME_WAIT 1259SYN_ ...
- Java-马士兵设计模式学习笔记-代理模式-聚合与继承方式比较
一.概述 1.目标:要在Tank的move()方法做时间代理及日志代理(可以设想以后还要增加很多代理处理),且代理间的顺序可活更换 2.思路: (1)聚合:代理类聚合了被代理类,且代理类及被代理类都实 ...
- android中View的GONE和INVISIBLE的原理
废话只重复两句: GONE真的隐藏: INVISIBLE不可见但是预留了View的位置: 网上千篇一律的重复着这两句话并举着例子,并没有观察本质来作区分.查看源码后得知其区别希望广大朋友能够借鉴,源码 ...
- Maven-010-maven 编译报错:Failure to ... in ... was cached in the local repository, resolution will not be reattempted until the update interval of nexus has elapsed or updates are forced.
今晚在编译 maven 项目的时候,命令行报错,出现 Failure to ... in ... 类似错误,详细的错误信息如下所示: [INFO] -------------------------- ...
- linux中ONBOOT=yes的含义
在/etc/sysconfig/network-scripts/ifcfg-eth0(确认ONBOOT=yes),其中eth0是设备名 ONBOOT是指明在系统启动时是否激活网卡,只有在激活状态的网卡 ...
- RML-怎样的语句会被归纳为同一类型(Unique Batches)
我们知道使用RML工具分析跟踪数据(.TRC),其中的"Unique Batches",就是一个关于Batch级别的报表,Batch级别的报表针对的是存储过程或是一个TSQL Ba ...
- ArrayList 排序Sort()方法扩展
1.sort() sort可以直接对默认继承 IComparable接口的类进行排序,如:int.string.... ArrayList arrayList = new ArrayList(); , ...
- IOS asc码替换
-(void)click:(UIButton *)btn { NSString *testStr = @"学>与全等"; NSStringEncoding encoding2 ...
- Linux的硬链接为何不能链接目录
Linux中的目录文件是特殊的文件,其中的数据是一个关联列表的,像c++中的map,或者Python中的dict,保存每个文件名(包括子目录,Linux中一切皆文件!)到iNode的映射.iNode本 ...
- Linux:实现Hadoop集群Master无密码登录(SSH)各个子节点
以下所介绍的安装方式都是在线安装方式,如果你需要连网请参考:Linux:宿主机通过桥接方式连接的VMware内部Linux14.04虚拟机(静态IP)实现上网方案 环境: OS:Linux Ubunt ...