2012-09-21 55 views
2

谷歌發佈官方地圖API第3版的GWT範例「GWT谷歌地圖API V3」這裏https://groups.google.com/forum/#!topic/gwt-google-apis/6SO5kCDqb-k (注意:http://code.google.com/p/gwt-google-maps-v3/已被棄用,是不是官方的。)的Eclipse項目

我已經下載的zip文件,並有是其中的樣本,但它們都是java。我無法弄清楚如何在我的project.gwt.xml文件中繼承它,或者寫入我的主html或將gwt-maps.jar文件放在哪裏。

是否有任何完整的Eclipse GWT項目「用於OFFICIAL API」開始?或者任何解釋如何從零開始到具有OnModuleLoad()的第一類的指導鏈接?

感謝

回答

7

這裏有一些提示,以幫助您開始:

gwt-maps.jar應該放在WEB-INF/lib目錄

prject.gwt.xml你可能在你的<module>部分添加:

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

當加載頁面時,這會使加載映射api。

以下是複製/粘貼線從我的應用程序,安排他們以符合您的需求:

 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) ; 

這將建立一個地圖內的一個小部件。

+0

謝謝!只是對其他人進行了一些小修改:RootLayoutPanel.get()。add(widg); – lembas

+0

你是對的! --edited-- – Overnuts

+0

如果我錯了,請糾正我,但我認爲在Google Maps v3中,不能添加'

1

上面的例子真的很有幫助。我發送自己的一段代碼,以便它也可以幫助其他人開發帶有GWT 2.4的谷歌地圖V3.0

Jars對谷歌地圖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語句:

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代碼需要按鈕並將地圖加載代碼寫入到點擊事件按鈕中。

// 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); 
    } 
}); 
+0

我試過這個,但似乎maven上的google-apis版本很舊(請參閱http://mvnrepository.com/artifact/com.google.gwt.google-apis)你是如何從maven中心獲得版本3.8.0的? –

+0

這裏的結果相同。無法從Maven存儲庫獲取3.8.0。 – Nereis

+0

我發現有人在maven上遷移它。我更新了回覆。 – Nereis