2

谷歌在这里发布了 GWT 的官方地图 v3 API https://groups.google.com/forum/#!topic/gwt-google-apis/6SO5kCDqb-k (注意http://code.google.com/p/gwt -google-maps-v3/已弃用且不是官方的。)

我已经下载了 zip 文件,里面有示例,但它们都是 java 的。我不知道如何在我的 project.gwt.xml 中继承它,或者在我的主 html 中写入什么,或者在哪里放置 gwt-maps.jar 文件。

是否有任何完整的 Eclipse GWT 项目“用于官方 API”?或者任何解释如何从零开始到我的第一个具有 OnModuleLoad() 的类的指导链接?

谢谢

4

2 回答 2

7

Here are a few tips to help you get starting:

gwt-maps.jar should be placed in WEB-INF/lib

in your prject.gwt.xml you might add in your <module> section:

<inherits name="com.google.maps.gwt.GoogleMaps" />
<script src="http://maps.google.com/maps/api/js?sensor=false" />

this will make loading maps api when loading page.

Followings are copy/paste lines from my app, arrange them to match your needs:

        MapOptions options  = MapOptions.create() ;

    options.setCenter(LatLng.create( latCenter, lngCenter ));   
    options.setZoom( 6 ) ;
    options.setMapTypeId( MapTypeId.ROADMAP );
    options.setDraggable(true);
    options.setMapTypeControl(true);
    options.setScaleControl(true) ;
    options.setScrollwheel(true) ;

    SimplePanel widg = new SimplePanel() ;

    widg.setSize("100%","100%");

    GoogleMap theMap = GoogleMap.create( widg.getElement(), options ) ;

    RootLayoutPanel.get().add( widg ) ;

This will build a widget with a map inside.

于 2012-09-21T10:15:31.957 回答
1

上面的例子真的很有帮助。我正在发送我自己的一段代码,以便它也可以帮助其他人使用 GWT 2.4 开发 Google Map V3

Google Map V3 所需的罐子是 gwt-maps.jar(版本 3.8.0)。对于 Maven 构建,以下是依赖项:

<dependency>
  <groupId>com.google.gwt.google-apis</groupId>
  <artifactId>gwt-maps</artifactId>
  <version>3.8.0</version>
</dependency>

在您的 entryPoint.gwt.xml 中写下以下内容:

<inherits name="com.google.maps.gwt.GoogleMaps" />
<script src="http://maps.google.com/maps/api/js?sensor=false" />

导入语句是:

import com.google.maps.gwt.client.MapOptions;
import com.google.maps.gwt.client.LatLng;
import com.google.maps.gwt.client.MapTypeId;
import com.google.maps.gwt.client.GoogleMap;

在 GWT 代码中,获取一个按钮并将地图加载代码写到按钮 onClick 事件中。

// This is the layout which will hold the button
final HLayout actionbuttonsLayout = new HLayout(10);
final IButton showMap = new IButton("Locate your Store");
actionbuttonsLayout.addMember(showMap);

//--- This is the layout which will hold the Map 
final HLayout mapLayout = new HLayout(50);  
final SimplePanel widg = new SimplePanel() ;
widg.setSize("700px", "200px");     
layout.addMember(mapLayout);
mapLayout.setVisible(false);

// This is the Click Handler where the map rendering process has been written
showMap.addClickHandler(new ClickHandler() {  

    public void onClick(ClickEvent event) {

        MapOptions options  = MapOptions.create();

        options.setCenter(LatLng.create(39.509, -98.434)); 
        options.setZoom(6);
        options.setMapTypeId(MapTypeId.ROADMAP);
        options.setDraggable(true);
        options.setMapTypeControl(true);
        options.setScaleControl(true);
        options.setScrollwheel(true);

        GoogleMap theMap = GoogleMap.create(widg.getElement(), options) ;
        mapLayout.addMember(widg);
        mapLayout.setVisible(true);
    }  
});
于 2013-02-05T09:22:04.253 回答