gmap错误d未定义

时间:2016-05-19 15:50:41

标签: javascript dictionary

<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中删除密钥时,它可以正常工作。

2 个答案:

答案 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()示例与您的地图定义不同。