我读过,从谷歌地图V3开始,开发人员不需要任何api密钥就可以使用谷歌地图API。我的代码如下(可视化谷歌地图的最简单代码)。我尝试在谷歌浏览器和火狐上运行它,但在它们中,地图弹出几秒钟,然后应用程序引发此异常:
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>
在素数文档中,标签 p:gmap 没有插入 api 键的属性:
Primefaces P:GMAP文档
我已经通过更改脚本中的源字符串来解决此问题,如下所示:
<script src="http://maps.google.com/maps/api/js?key=MY_API_KEY" type="text/javascript"></script>