`
wushangyuan
  • 浏览: 1533 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

GWT 右键菜单,地图

    博客分类:
  • GWT
阅读更多
1. 屏蔽右键菜单
   首先在 EntryPoint  中 加入一下代码, 使得不弹右键菜单
    RootLayoutPanel.get().addDomHandler(new ContextMenuHandler() {
     @Override public void onContextMenu(ContextMenuEvent event) {
     event.preventDefault();
     event.stopPropagation();
     }
    }, ContextMenuEvent.getType());
  2.需要弹菜单的控件,比如表格grid ,增加mouseup响应, popupPanel 是放置了 MenuBar  的 PopupPanel , 在MenuItem的Command  响应中, 将 popupPanel 调 hide()
      注意是如果在显示 popupPanel 时, x 或 y 位置都不加 一个大于2的值, 也会同时显示网页菜单, 不知为啥, 会加也是逼出来的.
grid.addDomHandler(new MouseUpHandler() {
public void onMouseUp(MouseUpEvent event) {
// TODO Auto-generated method stub
if (event.getNativeButton() == NativeEvent.BUTTON_RIGHT) {
System.out.println("MouseUpHandler : " + event.getNativeButton());
event.preventDefault();
     event.stopPropagation();
popupPanel.setPopupPosition(event.getClientX(), event.getClientY()+2);
popupPanel.show();
}
}
    }, MouseUpEvent.getType());
 
  3. 离线Google地图,
     先用了V2的, 后来发现了申请不了key了, 后来发现V3不用Key了,就改V3,还好能用. 参考了网上的例子 GoogleMapsAPIv3_OfflinePack , 非常感谢的.
该例子合入GWT中后, 发现还是挺好用的, 本地地图基本没有问题, 就差以后自己导入title了.    
 
HTML中合入:
 
<script type="text/javascript" src="mapapi.js"></script>
<script>
   function LocalMapType() {}
  LocalMapType.prototype.tileSize = new google.maps.Size(256, 256);
  LocalMapType.prototype.maxZoom = 17;
  LocalMapType.prototype.minZoom = 14;
  LocalMapType.prototype.name = "本地";
  LocalMapType.prototype.alt = "显示本地地图";
  LocalMapType.prototype.getTile = function(coord, zoom, ownerDocument) {
      var img = ownerDocument.createElement("img");
      img.style.width = this.tileSize.width + "px";
      img.style.height = this.tileSize.height + "px";
      
      var ymax = 1 << zoom;
  var y = ymax - coord.y - 1;
      //var strURL = "mytile\\" + zoom + "\\" + coord.x + "\\" + y + ".png";
      var strURL = "expotile/" + zoom + "/" + coord.x + "/" + y + ".png";  
      img.src = strURL;
      return img;
   };
  </script>
 
 
程序中合入:
 
  /**
   * Internal initialization method.
   */ 
  private static final native GoogleMap getLocalMap()/*-{
        var myLatlng = new $wnd.google.maps.LatLng(31.18439, 121.49454);
    var myOptions = {
      center: myLatlng,
      zoom: 14,
      streetViewControl: false,
      mapTypeControlOptions: {
            mapTypeIds: ["local", $wnd.google.maps.MapTypeId.ROADMAP]
        }
    };
 
    var local =  new $wnd.google.maps.Map($doc.getElementById('map_canvas'),
        myOptions);
    //map.setMapTypeId('satellite');
    //map.MapTypes.insertAt(0, moonMapType);
    local.mapTypes.set('local', new $wnd.LocalMapType());
    local.setMapTypeId('local');
    return local;
}-*/;
 
调用后,就可以当正常对象使用:
    GoogleMap  map = getLocalMap();
    map.setCenter(LatLng.create(31.18439, 121.49454));
 
地图的div加入panel中, 在ie中要手工设 mapPanel 的大小, google浏览器不用,还没有发现为啥
    RootPanel mapPanel = RootPanel.get("map_canvas");
    contentPanel.add(mapPanel, DockPanel.NORTH);
    contentPanel.setCellWidth(mapPanel, "100%");
    
    mapPanel.setSize("900px", "800px");
分享到:
评论

相关推荐

    gwt开发问题

    #### 一、GWT Web实现右键菜单的多种方式 GWT(Google Web Toolkit)作为一款强大的Java到JavaScript编译工具,使得开发者能够使用熟悉的Java语言构建复杂的Web应用。然而,在实际开发过程中,GWT用户会遇到各种...

    GWT入门 GWT中文教程

    首先,EXT-GWT2.0.1是EXT-GWT(GWT-Ext)的一个版本,它是基于GWT的组件库,提供了丰富的用户界面组件,如表格、树形视图、菜单等,使得开发者可以构建出具有桌面级用户体验的Web应用。EXT-GWT的API和DOC文档对于...

    gwt 中实现简单的树状菜单

    在GWT(Google Web Toolkit)中,实现一个简单的树状菜单是常见的需求,尤其是在构建具有层级结构的数据展示或导航功能的Web应用时。GWT提供了一套完整的UI组件库,其中包括Tree和TreeItem类,可以帮助我们轻松创建...

    gwt 练习 gwt学习

    GWT,全称为Google Web Toolkit,是一个开源的Java框架,用于构建高性能、可维护的富互联网应用程序(RIA)。GWT允许开发者使用Java语言编写客户端代码,然后通过编译器将其转换为优化过的JavaScript,以便在各种...

    GWT快速开发(GWT) 是一个Java软件开发框架用于开发类似于Google Maps和Gmail的AJAX应用程序。GWT的设计参考Java AWT包设计,类命名规则、接口设计、事件监听等。你可以用Java编程语言开发你的界面,然后用GWT编译器将Java类转换成适合浏览器执行的...

    - 构建复杂的客户端应用程序,例如在线办公软件、地图应用等。 - 实现数据密集型和交互性强的Web应用。 #### 二、GWT的安装与配置 1. **下载GWT**: - 访问官方网址: [http://code.google.com/webtoolkit/]...

    GWT快速开发.pdf

    2. **配置环境变量**:右键点击“我的电脑”选择“属性”→“高级系统设置”→“环境变量”,在“系统变量”中找到`Path`变量,将其值修改为包含GWT解压路径的方式。例如,在原变量值末尾添加`;D:\gwt`(注意分号...

    Gwt中文手册,GWt入门

    Gwt中文手册,GWt入门Gwt中文手册,GWt入门Gwt中文手册,GWt入门

    GWT

    标题 "GWT" 指的是 Google Web Toolkit,这是一个开源的Java开发框架,主要用于构建高性能、跨浏览器的富互联网应用程序(Rich Internet Applications,简称RIA)。GWT通过将Java代码编译为JavaScript,使得开发者...

    smartGWT开发环境搭建(完整工程)

    这可以通过Eclipse的"Help" &gt; "Eclipse Marketplace"菜单完成,搜索“Google Plugin for Eclipse”并按照提示进行安装。 安装GWT插件后,你需要创建一个新的GWT项目。在Eclipse中选择"File" &gt; "New" &gt; "Other",...

    Google plugin sdk GWT

    3. **安装Google Plugin SDK**:在Eclipse中,通过“Help” &gt; “Install New Software”菜单,输入GWT插件的更新站点地址来安装。安装完成后,你可以在Eclipse的“Preferences”中看到GWT的相关设置。 4. **配置GWT...

    GWT开发环境JAVA

    **GWT(Google Web Toolkit)开发环境JAVA** Google Web Toolkit(GWT)是一个开放源代码的Java框架,它允许开发者使用Java语言来编写富互联网应用程序(Rich Internet Applications,RIA),并将其编译成优化的...

    smartgwt最新版本GWT的DEMO

    SmartGWT是基于Google Web Toolkit (GWT) 的一个开源框架,它为开发富互联网应用程序(RIA)提供了丰富的组件库和高级功能。SmartGWT的最新版本进一步提升了用户体验,简化了开发过程,提供了更多现代Web设计的需求...

    GWT Demo,GWT学习时的一些小例子

    **GWT 概述** GWT(Google Web Toolkit)是由Google开发的一款开源的JavaScript开发框架,主要用于构建高性能、跨浏览器的Web应用程序。GWT通过Java语言进行开发,并将Java代码编译成高效的JavaScript,使得开发者...

    GWT入门和进阶

    GWT,全称为Google Web Toolkit,是Google推出的一款开源JavaScript开发框架,用于构建高性能的、客户端的Web应用程序。GWT允许开发者使用Java语言编写代码,然后自动编译为优化过的JavaScript,使得开发者能够利用...

    gwt-2.8.2 SDK 最新下载 google web toolkit

    Google Web Toolkit(GWT)是Google推出的一款开源的、基于Java的Web开发框架,它允许开发者使用Java语言来编写前端应用程序。GWT-2.8.2是该SDK的一个版本,提供了最新的特性和改进,旨在简化Web应用的开发流程,...

    GWT 配置

    - 在Eclipse中,右键点击项目,选择"Google" -&gt; "GWT Compile"进行编译。编译完成后,会生成一个`war`目录,包含编译后的JavaScript和其他资源。 - 运行项目,可以选择"Eclipse" -&gt; "Run As" -&gt; "Web Application...

Global site tag (gtag.js) - Google Analytics