快速业务通道

将Google Map添加到示例JSF目录应用程序中 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16
ic String mapAction() {      // get the ItemController ManagedBean      ItemController itemController = (ItemController)        FacesContext .getCurrentInstance().getExternalContext().getSessionMap().get ("item");      Address address = itemController.get Item ().getAddress();      location =address.getStreet1() + COMMA + address.getCity()+ COMMA + address.getState() +       COMMA + address.getZip();      return findLocation();    }    public String findLocation() {      GeoCoder geoCoder=new GeoCoder();      // use blueprints GeoCoder to get points based on location (this uses Yahoo''s map service)      GeoPoint points[]=geoCoder.geoCode(location);      mapMarker .setLatitude(points[0].getLatitude());      mapMarker .setLongitude(points[0].getLongitude());      mapMarker.setMarkup(points[0].toString();      mapPoint.setLatitude(points[0].getLatitude());      mapPoint.setLongitude(points[0].getLongitude());      return "map";    }

将Google Map添加到示例JSF目录应用程序中(3)

时间:2011-07-22 Carol McDonald

在 mapAction 方法中,FacesContext 用于获取 ItemController ,以得到当前店铺 Item 的 Address。 然后调用 findLocation(它使用 blueprints GeoCoder 组件)。blueprints GeoCoder 使用 Yahoo map 服务核实输入地址,并得到确切的经度和纬度。

JavaServer Faces NavigationHandler 匹配逻辑输出,映射( map)应用程序配置资源文件 faces- config.xml中的导航规则,来确定下一个要访问的页面。这样,当 mapAction 方法返回后,JavaServer Faces 实现将加载 map.jsp 页面

示例代码位于:faces-config.xml   <navigation-rule>     <navigation-case>       <from-outcome> map </from-outcome>       <to-view-id>/item/map.jsp</to-view-id>     </navigation-case>   </navigation-rule>

在 map.jsp 中,Blueprints JSF mapViewer 组件使用经度和纬度来显示 Google map:

Map .jsp 中的示例代码<%@taglib prefix="ui" uri="http://java.sun.com/blueprints/ui/14" %> <ui:mapViewer id="mapViewerx" center="#{MapBean.mapPoint}" info="# {MapBean.mapMarker}"        markers="#{MapBean.locations}" zoomLevel="4" style="height: 500px; width: 700px"/>

mapViewer 组件将使用 MapBean 提供呈现 Google map 所需的信息(它由 GeoCoder 组件的 Yahoo lookup 功能返回)

mapViewer center 属性是由 com.sun.j2ee.blueprints.ui.mapviewer.MapPoint(它可以通过 MapBean backing bean 访问) 生成的。 mapPoint 用于根据经度和纬度(来自 mapPoint ),来显示地 图中心位置。

mapViewer info 属性包含地址字符串文本(它在显示在地图上的信息气球中)。

mapViewer markers 属性存储一个 com.sun.j2ee.blueprints.ui.mapviewer.MapMarker 对象数组( 它们代表地图中的点)。本例中只在该数组中包含了 GeoCoder 返回的第一个点。

有关这一方面的更多信息,请参阅 How to Use the Map Viewer and GeoCoder Components 这篇文章 。

结束语

下面将总结如何在示例 JSF Store UI 中添加 Blueprints JSF Map Viewer 组件。

在 Glassfish 上运

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号