为什么MissingKeyMapError使用标签p:gmap with primefaces(在最简单的例子中)?

时间:2016-07-06 09:40:56

标签: google-maps-api-3 primefaces

我已经读过,自谷歌地图V3以来,开发人员不需要任何api密钥才能使用谷歌地图API。我的代码如下(最简单的可视化谷歌地图)。我试图在google chrome和firefox上运行它,但是在这两个版本中,地图弹出了几秒钟,然后应用程序引发了这个异常:

js?sensor=false:32 Google Maps API error: MissingKeyMapError https://developers.google.com/maps/documentation/javascript/error-messages#missing-key-map-error_.ab @ js?sensor=false:32
util.js:208 Google Maps API warning: NoApiKeys https://developers.google.com/maps/documentation/javascript/error-messages#no-api-keys

代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:p="http://primefaces.org/ui">

    <f:view>
        <h:head>
            <script src="http://maps.google.com/maps/api/js?sensor=false" type="text/javascript"></script>
        </h:head>

        <h:body>
            Map:
            <p:gmap center="41.381542, 2.122893" zoom="15" type="HYBRID" style="width:600px;height:400px" />
        </h:body>
    </f:view>

</html>

在primefaces的文档中,没有标签p:gmap的属性,其中插入api键:

primefaces p:gmap documentation

1 个答案:

答案 0 :(得分:4)

我通过更改脚本中的源字符串解决了这个问题,如下所示:

<script src="http://maps.google.com/maps/api/js?key=MY_API_KEY" type="text/javascript"></script>