我正在使用PrimeFaces GMap来显示地图。
我已经尝试了最简单的解决方案。
我从谷歌那里拿了密钥并编写了这样的代码:
<h:head>
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyASp910hdK6GE2OeqQCEmmsL5bE2srrviI" type="text/javascript"></script>
<title>Admin</title>
</h:head>
<h:body>
<div>
<p:gmap center="41.381542, 2.122893" zoom="15" type="HYBRID" style="width:100%;height:400px" />
</div>
......
我尝试过使用多个键。
我尝试过async
、defer
、?sensor=false
等。
似乎什么都不起作用;地图就是不显示。
如何解决这个问题?
出现问题是因为您没有在<head>
标签中包含 Google 地图脚本。PrimeFaces展示应该警告用户这一点...
在<head>
标记中包含以下脚本:
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
重要提示:如果您使用的是本地主机,地图仍然无法正常工作。您必须使用 IP(例如,可以是 127.0.0.1(或在任何云中托管应用程序。
重要提示²:自 2016 年以来,Google 地图也需要 API 密钥才能正常工作,您可以在此处阅读更多相关信息。