oracle添加到服务,将基于位置的服务添加到应用程序

将基于位置的服务添加到应用程序

将基于位置的服务添加到应用程序

目的

本教程介绍如何将基于位置的服务添加到一个普通的 J2EE 应用程序。

所需时间

大约 45 分钟

主题

本教程包括下列主题:

查看屏幕截图

view_image.gif 将鼠标置于此图标上以加载和查看本教程的所有屏幕截图。(警告:此操作会同时加载所有屏幕截图,网速较慢时,响应时间可能会比较长。)

注意:此外,您还可以在下列步骤中将鼠标放在每个单独的图标上,从而仅加载和查看与该步骤相关的屏幕截图。

概述

OracleAS Wireless 基于位置的服务 (LBS) 平台提供了一个简单的、集成的解决方案,可用 LBS 功能强化应用程序。使用 OracleAS Wireless LBS 功能,您可以将地图、行驶方向以及黄页中的信息添加到应用程序。

前提条件

开始本教程之前,您应该:

1.

已经安装了 Oracle JDeveloper 10g(版本 9.0.5.1)

2.

已经安装了 Oracle 应用服务器 10g 基础架构

3.

已经安装了 Oracle 应用服务器 10g Portal 和 Wireless

创建一个普通的 J2EE 应用程序

您可以先创建一个普通的 J2EE 应用程序,然后再向其添加基于位置的功能。要创建一个简单的 J2EE 应用程序,请执行下列步骤:

1.

启动 JDeveloper。在 Applications - Navigator 中,右键单击 Applications 并从快捷菜单中选择 New Application Workspace。

view_image.gif

2.

在 Create Application Workspace 对话框中,将 Application Name 更改为 LBSApps。Directory Name 也将随之更改。单击 OK。

view_image.gif

您将看到创建了一个名为 Project 的项目。

view_image.gif

3.

在 System - Navigator 中,右键单击该项目并从上下文菜单中选择 New。在 New Gallery 中,展开 Categories 下的 Web Tier。

view_image.gif

4.

从 Categories 中选择 JavaServer Pages (JSP),然后从 Items 中选择 JSP Page。单击 OK。

view_image.gif

5.

在 File Name 域中输入 MapAndRoute.jsp,然后单击 OK。

view_image.gif

您将看到 MapAndRoute.jsp 的 Design 视图和 Source 视图。您还将在右侧看到组件模板、Data Controls 以及 Property Inspector。您可以选择关闭组件模板和 Property Inspector。

view_image.gif

6.

单击 Source 选项卡,查看 MapAndRoute.jsp 的源代码。

view_image.gif

复制以下代码并将其粘贴到代码编辑器以替换现有代码:

Welcome!!

Welcome

You have requested for today's date!

Today is

. Have a great day!!

Please enter your name:

view_image.gif

7.

右键单击 MapAndRoute.jsp 并选择 Run 来运行该 JSP 文件。

view_image.gif

8.

您将看到该应用程序运行在默认浏览器上。在文本“Please enter your name”下面的文本域中输入您的姓名。单击 Submit Name 查看结果。

view_image.gif

view_image.gif

针对基于位置的服务配置 Oracle 应用服务器

您需要先在 Oracle 应用服务器上配置内容提供程序,然后才能在应用程序上使用 LBS 功能。本部分介绍如何配置 eLocation 地理编码、地图绘制以及路线选择内容提供程序。要针对基于位置的服务配置 Oracle 应用服务器,请执行以下步骤:

1.

打开浏览器,输入以下 URL:

http://.:

注意:管理端口号在服务器安装期间自动分配,可能由于您的安装会略有不同。当系统提示您输入用户名和口令时,请输入 ias_admin 和您在安装期间输入的口令。

view_image.gif

2.

在企业管理器 10g Application Server Control 中,单击中间层实例的名称可查看实例主页。

view_image.gif

向下滚动至 System Components 表,单击 Wireless 链接。

view_image.gif

3.

单击 Site Administration 选项卡。

view_image.gif

4.

展开 Component Configuration,单击 Location-Related 下的 Location Services。

view_image.gif

5.

此时显示 Location Services 页面。转至 Location Service Configurations 部分,单击

Geocoding Configuration。

view_image.gif

6.

为了使您的应用程序支持 LBS 地理编码功能,需要配置一个地理编码提供程序。此处,我们配置 Oracle eLocation。注意,Oracle eLocation 只能用于测试和演示目的。单击 Add Another Row,为地理编码提供程序创建一个新的空白行。输入以下信息,单击 Apply。请注意,只有在您重新启动 Wireless 服务器后,新配置才会生效。我们将在配置完所有提供程序后再重新启动。

Provider Name: eLocation

Preference: 1

Provider Implementation Class Name: oracle.panama.spatial.core.

geocoder.GeocoderImplXMLProvider

URL: http://elocation.oracle.com/elocation/lbs

Username: usr

Password: pwd

ISO Locales: ;US;unknown;

view_image.gif

7.

单击路径式导航栏中的 Location Services,导航回到 Location Services 页面。

view_image.gif

转至 Location Service Configurations 表,单击 Mapper Provider Configuration。

view_image.gif

8.

为了使您的应用程序支持 LBS 地图绘制功能,需要配置一个地图绘制提供程序。此处,我们要配置 Oracle eLocation。注意,Oracle eLocation 只能用于测试和演示目的。单击 Add Another Row,为地图绘制提供程序创建一个新的空白行。输入以下信息,单击 Apply。请注意,只有在您重新启动 Wireless 服务器后,新配置才会生效。我们将在配置完所有提供程序后再重新启动。

Provider Name: eLocation

Preference: 1

Provider Implementation Class Name: oracle.panama.spatial.core.mapper.

MapperImplXMLProvider

URL: http://elocation.oracle.com/elocation/lbs

Username: usr

Password: pwd

Parameters: us_base

ISO Locales: ;US;unknown;

view_image.gif

9.

单击路径式导航栏中的 Location Services,导航回到 Location Services 页面。

view_image.gif

转至 Location Service Configurations 表,单击 Routing Configuration。

view_image.gif

10.

为了使您的应用程序支持 LBS 路线选择功能,需要配置一个路线选择提供程序。此处,我们要配置 Oracle eLocation。注意,Oracle eLocation 只能用于测试和演示目的。单击 Add Another Row,为路线选择提供程序创建一个新的空白行。输入以下信息,单击 Apply。请注意,只有在您重新启动 Wireless 服务器后,新配置才会生效。我们将在配置完所有提供程序后再重新启动。

Provider Name: eLocation

Preference: 1

Provider Implementation Class Names: oracle.panama.spatial.core.router

.RouterImplXMLProvider

URL: http://elocation.oracle.com/elocation/lbs

Username: usr

Password: pwd

Parameters: us_base

ISO Locales: ;US;unknown;

view_image.gif

11.

单击路径式导航栏中的实例,导航回到企业管理器 10g Application Server Control 主页。

view_image.gif

重新启动 Wireless 服务器以便配置更改生效。在 System Components 表中,选中 Wireless 组件复选框,然后单击 Restart。

view_image.gif

在系统提示您进行确认时,单击 Yes。

view_image.gif

view_image.gif

view_image.gif

向 J2EE 应用程序添加基于位置的功能

要向 J2EE 应用程序添加基于位置的功能,请执行下列步骤:

1.

首先,需要在 JDeveloper 中设置库路径以包括 LBS 所使用的类。右键单击 JDeveloper 项目并选择 Project Properties。

view_image.gif

2.

在 Development 下面单击 Libraries,然后单击右侧框中的 New 为 LBS 添加新库。

view_image.gif

3.

在 Library Name 域中输入 Wireless。设置类路径,使其包括安装中的 wireless.jar。例如,C:\midtier_pw\wireless\lib\wireless.jar。单击 OK。

view_image.gif

新库现在应显示在 Selected Libraries 列表中。单击 OK 关闭 Properties 窗口。

4.

在 MapAndRoute.jsp 中将以下行直接添加到 contentType 声明后面。为清晰起见,删除

标记之间的所有内容。右键单击该文件名并选择 Make,确保 MapAndRoute.jsp 编译成功。

view_image.gif

view_image.gif

5.

在本例中,我们将创建两个位置,然后对其进行地理编码,将它们显示在地图上,并查找这两个位置之间的最佳路线。首先定义起始位置和终点位置。在 body 标记之间插入以下行。

// Create the source location object

Location fromLoc = SpatialManager.createLocation(

null, //point

"OracleHQ", //companyName

"http://www.oracle.com/technology/obe/obe_as_1012/wireless/location/index.html", //houseNumber

new String[] { "500 Oracle Parkway" }, //intersectingStreetNames

null, //secondLine

"Redwood City", //cityName

"CA", //stateName

"94065", //postalCode

null, //postalCodeExt

"US"); //countryName

// Create the destination location object

Location toLoc = SpatialManager.createLocation(

null, //point

"Hotel", //companyName

"http://www.oracle.com/technology/obe/obe_as_1012/wireless/location/index.html", //houseNumber

new String[] { "3000 Los Prados St" }, //intersectingStreetNames

null, //secondLine

"San Mateo", //cityName

"CA", //stateName

"9440", //postalCode

null, //postalCodeExt

"US"); //countryName

%>

view_image.gif

6.

现在测试地理编码程序。将以下行直接插入地址声明后面。

// Get the geocoder

Geocoder geocoder = SpatialManager.getGeocoder();

// Geocode the locations

L cation[] geocodedStart = geocoder.geocodeAddress(fromLoc,Geocoder.MATCH_MODE_TIGHT);

Location[] geocodedEnd = geocoder.geocodeAddress(toLoc,Geocoder.MATCH_MODE_TIGHT);

%>

You are located at:

Latitude:

Longitude:

You want to get to:

Latitude:

Longitude:

view_image.gif

7.

编译代码。为了快速部署,在以下文件夹中复制并粘贴 MapAndRoute.jsp:

\j2ee\OC4J_Wireless\applications\wireless\location-web

Access the application with the URL http://.:/location/MapAndRoute.jsp

view_image.gif

8.

现在地图绘制程序。将以下行直接插入地理编码程序测试后面。

// Get the mapper

Mapper mapper = SpatialManager.getMapper();

// Get the map URLs

String startMapURL = mapper.getMapURL(fromLoc, ImageFormats.GIF, 400, 200, false);

String endMapURL = mapper.getMapURL(toLoc, ImageFormats.GIF, 400, 200, false);

%>

Here is your start location:

<%=startMapURL%>

Here is your destination location:

<%=endMapURL%>

view_image.gif

9.

编译代码。在以下文件夹中复制并粘贴经过修改的 MapAndRoute.jsp:

\j2ee\OC4J_Wireless\applications\wireless\location-web

刷新步骤 7 中使用的应用程序浏览器窗口。eLocation-mapping 提供程序已生成了给定地址的地图。

view_image.gif

10.

现在测试路线选择程序。将以下行插入地图程序测试的末尾。

// Get the router

Router router = SpatialManager.getRouter();

// Basic routing settings: return mapURL, don't return route geometry

RoutingSettings settings = new RoutingSettings(true, false);

settings.setSecondaryOption(RoutingOption.overviewMapWidth, "500");

settings.setSecondaryOption(RoutingOption.overviewMapHeight, "300");

// Compute the route

RoutingResult rres = router.computeRoute(fromLoc, toLoc, null, settings, Locale.US);

%>
Here are your driving directions:

for (int i=0; i

{

%>

}

%><%=rres.getOverviewMapURL()%5B0%5D%>

%>

view_image.gif

11.

编译代码。在以下文件夹中复制并粘贴修改的 MapAndRoute.jsp:

\j2ee\OC4J_Wireless\applications\wireless\location-web

刷新应用程序浏览器窗口。eLocation 路线选择提供程序已生成了行驶方向和请求路线的全景地图。单击此处获取整个 LBS 示例。

view_image.gif

总结

在本课程中,您学习了如何:

bullet.gif

使用 JDeveloper 创建简单的 JSP 页面

bullet.gif

针对基于位置的服务配置 Oracle 应用服务器

bullet.gif

修改 JSP 页面以添加以下基于位置的功能:

创建出发地点和目的地

对位置进行地理编码

显示位置的地图

显示到目的地的行驶方向

bullet.gif

将应用程序 (JSP) 部署到应用服务器

bullet.gif

运行应用程序以测试基于位置的服务

相关信息

bullet.gif

有关本 OBE 教程的问题,请在 OBE 论坛上张贴问题。

view_image.gif 将鼠标置于该图标上可以隐藏所有的屏幕截图。

版权所有 © 2004 Oracle Corporation。保留所有权利。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值