我有下一个代码:
<div id="gmap" style="width:500px;height:300px;"></div>
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js"></script>
<script>
map = new google.maps.Map(document.getElementById('gmap'));
</script>
这是非工作gmap的最小例子。出现Gmap叠加层(没有地图),当您点击地图容器时,它会抛出异常:
Uncaught TypeError: Cannot read property 'x' of undefined
我不知道,如何解决这个问题,谷歌无法帮助我:| 请帮忙。
谢谢
答案 0 :(得分:2)
您需要为地图设置默认LatLng
和一些选项,这应该有效。
var myLatlng = new google.maps.LatLng(-34.397, 150.644);
var myOptions = {
zoom: 8,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById("gmap"), myOptions);
这是一个有效的小提琴:
http://jsfiddle.net/4a87k/310/
当您删除选项时,您会遇到类似于您所描述的问题。
答案 1 :(得分:1)
初始化地图时,您缺少地图选项。
two required options are缩放级别和地图居中的位置。
将您的JavaScript修改为:
var mapOptions = {
zoom: 15,
center: new google.maps.LatLng(0,0)
};
map = new google.maps.Map(document.getElementById('gmap'), mapOptions);
你应该好好去
答案 2 :(得分:0)
var mapOptions = {
zoom: 8,
center: new google.maps.LatLng(-34.397, 150.644)
};
map = new google.maps.Map(document.getElementById('map-canvas'),
mapOptions);
&#13;
html, body, #map-canvas {
height: 100%;
margin: 0px;
padding: 0px
}
&#13;
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp"></script>
<div id="map-canvas"></div>
&#13;
试试这个。
你需要指出至少一根电线在mapoption中显示地图。