使用 Pitney Bowes 定位服务构建一个简单的图片定位应用程序
2015-03-09 09:32
771 查看
IBM Bluemix™ 提供了将您的伟大思想变成一个应用程序或服务所需的所有平台功能。Bluemix 还为您提供了对各种各样 API 的访问,通过将这些 API 与第三方提供的功能混合使用,您可以使用它们来增强您的应用程序。
Pitney Bowes 提供了功能强大的 API 来实现地理编码、地址查询等功能。本文使用了一个简单而又有趣的示例应用程序,该应用程序在
Instagram 中将任意美国街道地址的经纬度与媒体搜索相结合,通过这个示例,我们将向您展示如何在您的 Bluemix 应用程序中使用 Pitney Bowes API。
* 一个 Bluemix 帐户
* 一个 Pitney
Bowes 开发人员帐户(参见本文步骤 1)
* 一个 Instagram
开发人员帐户
* 适用于您的系统的 CloudFoundry V6
命令行界面
* 运行应用程序
* 获取代码
使用 Bluemix 平台的开发人员可以使用的四项 Pitney Bowes 定位服务:
* 地理编码:将地址转换成地址经纬度位置。
* 反向地理编码:将一个经纬度位置(比如一个
GPS 信号)转换成一个可读地址。
* 验证地址:正确的、标准化的、有效的地址,确保地址数据符合邮政管理局设立的质量标准,以便提高邮件和包裹的送达率。
* 旅行边界服务:根据平均驾驶距离或平均驾驶时间来确定某个地址的边界,从而增加根据地理信息制定决策的信心。
* Pitney
Bowes 定位服务 API 文档
通过 注册 在 Pitney Bowes
开发人员门户上获得一个开发人员帐户。当您完成电子邮件确认步骤时,您将获得一个具有 API 特权的账号。
登录并注册一个应用程序。返回的应用程序 ID 需要能够对 Pitney Bowes 进行 API 调用。(还提供了密钥,Pitney Bowes API 目前不需要它。)
默认情况下,您无权进行 API 调用。在 Entitlements 页面上,单击 Select
Entitlement 并选择 free 级别(每天 2,000 个调用),这是自动认可的级别:
图 1.
点击查看大图
现在,您已经为在 Bluemix 中使用应用程序 ID 和 Pitney Bowes services 服务做好了准备。
登录到 Bluemix。
在目录中,选择 Pitney Bowes 地理编码服务:
图 2.
选择 Do not associate。(您将在步骤 3 中向应用程序添加服务实例。)为服务实例选择一个名称并输入您的 Pitney Bowes 应用程序 ID。
从 IBM jStart DevOps 存储库克隆 Node 寻像器应用程序:
Pitney Bowes 提供了功能强大的 API 来实现地理编码、地址查询等功能。本文使用了一个简单而又有趣的示例应用程序,该应用程序在
Instagram 中将任意美国街道地址的经纬度与媒体搜索相结合,通过这个示例,我们将向您展示如何在您的 Bluemix 应用程序中使用 Pitney Bowes API。
入门的前提条件
* 一个 Bluemix 帐户* 一个 Pitney
Bowes 开发人员帐户(参见本文步骤 1)
* 一个 Instagram
开发人员帐户
* 适用于您的系统的 CloudFoundry V6
命令行界面
* 运行应用程序
* 获取代码
Pitney Bowes 定位服务快速指南
使用 Bluemix 平台的开发人员可以使用的四项 Pitney Bowes 定位服务:* 地理编码:将地址转换成地址经纬度位置。
* 反向地理编码:将一个经纬度位置(比如一个
GPS 信号)转换成一个可读地址。
* 验证地址:正确的、标准化的、有效的地址,确保地址数据符合邮政管理局设立的质量标准,以便提高邮件和包裹的送达率。
* 旅行边界服务:根据平均驾驶距离或平均驾驶时间来确定某个地址的边界,从而增加根据地理信息制定决策的信心。
* Pitney
Bowes 定位服务 API 文档
步骤 1. 注册 Pitney Bowes 服务
通过 注册 在 Pitney Bowes开发人员门户上获得一个开发人员帐户。当您完成电子邮件确认步骤时,您将获得一个具有 API 特权的账号。
登录并注册一个应用程序。返回的应用程序 ID 需要能够对 Pitney Bowes 进行 API 调用。(还提供了密钥,Pitney Bowes API 目前不需要它。)
默认情况下,您无权进行 API 调用。在 Entitlements 页面上,单击 Select
Entitlement 并选择 free 级别(每天 2,000 个调用),这是自动认可的级别:
图 1.
点击查看大图
现在,您已经为在 Bluemix 中使用应用程序 ID 和 Pitney Bowes services 服务做好了准备。
步骤 2. 在 Bluemix 中创建一个 Pitney Bowes 服务实例
登录到 Bluemix。在目录中,选择 Pitney Bowes 地理编码服务:
图 2.
选择 Do not associate。(您将在步骤 3 中向应用程序添加服务实例。)为服务实例选择一个名称并输入您的 Pitney Bowes 应用程序 ID。
步骤 3. 克隆 Node.js 寻像器应用程序代码
从 IBM jStart DevOps 存储库克隆 Node 寻像器应用程序:1 git clone https://hub.jazz.net/git/jstart/Picture.Finder.(Node)[/code]
所有应用程序逻辑都在 app.js 中,包括一些使得 Web 应用程序开发变得更容易的 Node 模块:
* Express
Web 开发框架
* 针对
Express 的 Hogan 模板引擎
* 用来调用
Pitney Bowes 的 REST 客户端
* 一个
Instagram API 包装器库
* 执行日期格式化的时间
* 针对
JSON 操作的 pinch
“post to /location” 命令将会对 Pitney Bowes 地理编码服务执行一个 GET 调用。然后,返回的经纬度被传递给 Instagram(记得将代码中的 instagramID 和 instagramSecret 替换为那您自己的 Instagram 开发人员帐号和密钥),以便检索描述指定地址一公里范围以内的所有图片的 JSON。
请注意,在对地理编码服务的调用中,使用了从地理编码服务凭据中获得的 Pitney Bowes URL 和应用程序 ID。
▅ 点击查看代码清单
Hogan 模板语言和超净(ultra-clean)Mustache 模板语言将结果显示在 index.html 视图中。它们显示了从 Instagram 返回的 JSON 直接返回的结果(对创建时间进行了更改,利用服务器端的 pinch 库,将该时间从 UNIX 时间戳改为一个友好的日期格式):
▅ 点击查看代码清单转到应用程序的 app 目录。使用以下命令从命令行登录 Bluemix:
步骤 4. 将应用程序推入 Bluemix1 cf login -a api.ng.bluemix.net
提供您的用户名、密码和组织,并在系统提示您时按下空格键。
一个 manifest.yml 文件包含在应用程序中,用于流线化该流程。它将设置应用程序名称、内存、实例数量和您在 步骤
2 中创建的 Pitney Bowes 地理编码服务名称。
编辑 manifest.yml 文件,以便更改那些对您的应用程序必须惟一的值。主机名必须是不同于 picturefinder 的名称,这样您获得的 URL 路由就不会与演示 URL (http://picturefinder.ng.bluemix.net) 发生冲突。
点击查看代码清单
从包含 app.js 和 manifest.yml 文件的 app 目录推入您的应用程序:1 cf push
当应用程序运行时,转到 http://my-unique-hostname.ng.bluemix.net(其中的 my-unique-hostname 是您在
manifest 文件中使用的主机名)。输入您的地址,并查看哪些 Instagram 用户正在您的附近发帖子。当在主要社交媒体平台上签入或使用位置共享特性时,全世界超过十二亿的人都在使用 Pitney Bowes 位置智能解决方案。通过精心定制用户对当前位置的体验,这些服务可帮助您,让您的应用程序更多地参与其中。
结束语
点击这里,查看原文
相关文章推荐
- 使用ant工具——构建一个简单的Hibernate应用程序
- 使用 Bluemix 和 AppScan Mobile Analyzer 服务构建一个 Android 应用程序安全测试工具
- 使用 IBM Mobile Data for Bluemix 服务构建一个 iOS 应用程序
- 在 Eclipse Workbench 之外使用 Eclipse GUI,第 1 部分: 单独使用 JFace 和 SWT构建一个简单的文件资源管理器应用程序
- 使用silverlight构建一个工作流设计器(十四)(动态生成流程图片下载_下)
- [webservices开发]使用XFire开发一个简单的web服务
- 使用OSGi构建面向服务的联络管理应用程序
- 使用 Silverlight 2 和 WCF 构建服务驱动的应用程序
- 使用ASP.NET MVC2+PDF.NET 构建一个简单的新闻管理程序
- 构建简单的 C++ 服务组件,第 2 部分: 通过服务组件体系结构使用 Python、Ruby 和 Web 服务
- 使用OSGi构建面向服务的联络管理应用程序
- [转]构建插件式的应用程序框架(八)----视图服务的简单实现
- 构建插件式的应用程序框架(八)----视图服务的简单实现
- 使用ASP.NET MVC2+PDF.NET 构建一个简单的新闻管理程序
- 简单构建一个xmlhttp对象池合理创建和使用xmlhttp对象
- 构建插件式的应用程序框架(八)----视图服务的简单实现
- 使用C# Builder建一个简单的ASP.NET应用程序
- 使用 Silverlight 2 和 WCF 构建服务驱动的应用程序
- 弹出应用程序: 服务控制管理器 : 在系统启动时至少有一个服务或驱动程序产生错误。详细信息,请使用事件查看器查看事件日志