2014-06-23 5 views
0

gwt 맵을 SmartGWT 앱에 통합하려고합니다. 하지만 어떤 이유로이 오류가 발생합니다. 누군가 그것을 해결하기 위해 나를 도울 수 있습니까? 이 링크를 나의 참조 http://forums.smartclient.com/showthread.php?t=3366으로 사용하고 있습니다.GWT 맵 실행 중 오류 - 맵 키가 누락되었거나 유효하지 않습니까?

오류가 발생했습니다. 캐치되지 않는 예외가 이스케이프되었습니다. java.lang.RuntimeException Maps API가로드되지 않았습니다. 호스트 HTML 또는 모듈 파일에 태그가 누락 되었습니까? 지도 키가 누락되었거나 유효하지 않습니까? 자세한 내용은 개발 콘솔 로그를 참조하십시오. 사용자 정의 uncaught 예외 처리를 위해 GWT.setUncaughtExceptionHandler (..)를 등록하십시오.

//This is added in my module file and i am using Maps v2 API 1.1.1 
<inherits name='com.google.gwt.maps.GoogleMaps' /> 


    HomeViewImpl homePanel = new HomeViewImpl(); 
    addTab(homePanel, "Home", "Home"); 

=========================================== ===

public class HomeViewImpl extends VLayout 
{ 

private MapWidget getMap() 
{ 
    /*MapWidget map = new MapWidget(); 
    map.setSize("500px", "300px"); 
    map.addControl(new LargeMapControl()); 
    map.getInfoWindow().open(map.getCenter(), new InfoWindowContent(getMapInfoWindow())); 
    return map;*/ 
    LatLng cawkerCity = LatLng.newInstance(-22.82, -47.26); 
    final MapWidget map = new MapWidget(); 
    map.setScrollWheelZoomEnabled(true); 

    map.addControl(new LargeMapControl()); 

    map.addOverlay(new Marker(cawkerCity)); 

    map.getInfoWindow().open(map.getCenter(), 
     new InfoWindowContent("World's Largest Ball of Sisal Twine")); 

    return map; 
} 

public Canvas getViewPanel() 
{ 
    HLayout hLayout = new HLayout(5); 
    hLayout.addMember(new Label("Dummy Label in a Horizontal Layout")); 
    // Add the map to the HTML host page 
    hLayout.addMember(getMap()); 
    return hLayout; 
} 

private Canvas getMapInfoWindow() 
{ 
    final TabSet topTabSet = new TabSet(); 
    topTabSet.setTabBarPosition(Side.TOP); 
    topTabSet.setWidth(200); 
    topTabSet.setHeight(100); 

    Tab tTab1 = new Tab("Blue"); 

    HTMLPane tab1Pane = new HTMLPane(); 
    tab1Pane.setContents("Hello. This sample shows a google map widget taking part in a SmartGWT Layout"); 
    tTab1.setPane(tab1Pane); 
    Tab tTab2 = new Tab("Green"); 
    HTMLPane tab2Pane = new HTMLPane(); 
    tab2Pane.setContents("Google Maps InfoWindow can display SmartGWT Widgets"); 
    tTab2.setPane(tab2Pane); 

    topTabSet.addTab(tTab1); 
    topTabSet.addTab(tTab2); 
    return topTabSet; 
} 

@Override 
public Widget asWidget() 
{ 
    return getViewPanel(); 
} 

} 

환호 Zolf는

답변

1

여기에서 일어나고있는 몇 가지가있다.

Google지도 v2는 더 이상 제공되지 않습니다. Upgrading Your Google Maps JavaScript Application To v3을 읽어주십시오. 귀하가 제공하는 링크는 2008 년 이후이며, 실제로는 구식입니다.

둘째, Google지도 (v2 또는 v3 중 하나)는 호스트 HTML 페이지에서 유효한 라이센스 키가 필요합니다. GWT에는 GWT 응용 프로그램을 시작하는 호스트 HTML 페이지가 있습니다. Google지도 키는 여기에 있습니다.

지도 v3을 사용하려면 업데이트 된 GWT Google maps API가 필요합니다. 몇 가지가 있습니다.

감사합니다, 토마스. 당신은이 같은지도 및로드 데이터를 생성해야

+0

귀하의 의견에 감사드립니다. 당신은 나에게 업데이트 된 GWT 맵 API에 대한 링크를 주시겠습니까? – ZAJ

0

제 경우의 문제는이 모듈을 내 모듈 파일에 추가해야한다는 것입니다.이 오류를 해결하고지도를 표시했습니다.

<script src="http://maps.google.com/maps?gwt=1&amp;file=api&amp;v=2"></script>