<script type="text/javascript" src="https://maps.google.com/maps/api/js?v=3&key=...." ></script>
<script type="text/javascript" src="js/gmaps.js"></script>
我正在使用gmap.js和带有密钥的google api, 该页面似乎加载了地图,但只是在加载结束时它隐藏了地图,在firefox控制台中显示了
d未定义
map = new GMaps({
el: '#map',
lat: 13.9972,
lng: -89.5687,
zoomControl : true,
panControl : true,
streetViewControl : false,
mapTypeControl: false,
overviewMapControl: true
});
PD:当我从脚本api src中删除密钥时,它可以正常工作。
答案 0 :(得分:0)
我遇到了问题,花了我很多时间才能找到解决方案,但最终我发现我没有将正确的元素传递给google.maps.Map()
函数。
就我而言,由于我使用该库,因此我刚刚创建了<div id="map"></div>
对象并使用jQuery搜索该对象。我的代码如下所示:
jQuery("body").append("<div id='map'></div>")
...
var map_elem = jQuery("#map")
var map = new google.maps.Map(map_elem, { zoom: 4, center: lat_lng })
事实是我传递了jQuery对象而不是DOM元素。我必须使用:
...(map_elem[0], ...
从jQuery数组中获取第一个DOM元素。
换句话说,如果您没有将正确的元素传递给Map()
构造函数,则很可能会收到您在此处提到的错误。
另请参阅:Google MAP API Uncaught TypeError: Cannot read property 'offsetWidth' of null
答案 1 :(得分:-1)
我在网上搜索过你...... 根据我的发现,您的问题可能与您的代码中缺少的setCenter()方法相关。
试试这个:
center: {lat: 13.9972, lng: -89.5687}
同时查看此页面,该页面可能更具体于gmaps.js:https://hpneo.github.io/gmaps/examples/geolocation.html
有一个initMap()示例与您的地图定义不同。