首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行GWT地图时出错-地图密钥是否丢失或无效?

问运行GWT地图时出错-地图密钥是否丢失或无效?
EN

Stack Overflow用户
提问于 2014-06-23 12:24:32
回答 3查看 444关注 0票数 0

我正在尝试将gwt地图集成到我的SmartGWT应用程序中。但是由于某种原因,我得到了这个错误。有没有人能帮我解决一下。我使用这个链接作为我的参考http://forums.smartclient.com/showthread.php?t=3366。

我得到的错误是未捕获的异常转义: java.lang.RuntimeException尚未加载Maps API。您的主机HTML或模块文件中是否缺少标记?Maps密钥是否丢失或无效?有关详细信息,请参阅开发控制台日志。注册GWT.setUncaughtExceptionHandler(..)用于自定义未捕获的异常处理。

代码语言:javascript
复制
//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");

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

代码语言:javascript
复制
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

EN

回答 3

Stack Overflow用户

发布于 2014-06-23 13:08:36

这里发生了一些事情。

谷歌地图v2不再可用。请阅读Upgrading Your Google Maps JavaScript Application To v3。你提供的链接来自2008年,而且确实已经过时了。

其次,Google Maps ( v2或v3)要求宿主HTML页面中有一个有效的许可证密钥。GWT有一个宿主HTML页面,用于启动GWT应用程序。Google Maps密钥可以放在这里。

要使用maps v3,您还需要一个更新的GWT Google Maps。有几个可用的。

你好,托马斯。

票数 1
EN

Stack Overflow用户

发布于 2014-06-23 15:12:26

你必须像这样创建地图和加载数据,

代码语言:javascript
复制
Maps.loadMapsApi("", "2", false, new Runnable() {
  public void run() {
   // add your widget with map
  }
});

例如,请参见此链接:http://code.google.com/p/gwt-google-apis/wiki/MapsGettingStarted &下载并使用本例中使用的jar。

票数 0
EN

Stack Overflow用户

发布于 2014-06-23 15:18:47

好的,我的案例的问题是,我还必须将这个脚本添加到我的模块file.Adding中,这解决了错误并显示了地图。

代码语言:javascript
复制
 <script src="http://maps.google.com/maps?gwt=1&amp;file=api&amp;v=2"></script>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24358356

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档