点击以在Javascript中显示谷歌地图 - 不工作

时间:2012-11-04 11:40:07

标签: javascript google-maps google-maps-api-3

这是我的代码: http://jsfiddle.net/X9SkK/

这是javascript:

function showmap() {
     var map;
      function initialize() {
        var mapOptions = {
          zoom: 8,
          center: new google.maps.LatLng(-34.397, 150.644),
          mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        map = new google.maps.Map(document.getElementById('map_canvas'),
            mapOptions);
      }
}​

我想拥有它,以便当我点击地图加载按钮时,但由于某种原因它不起作用。我确信这很简单,但我无法确定它。

2 个答案:

答案 0 :(得分:2)

实际创建地图的代码包含在名为initialize的函数中,该函数未被调用。删除它,你会没事的:

function showmap() {
    var mapOptions = {
        zoom: 8,
        center: new google.maps.LatLng(-34.397, 150.644),
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    var map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);
}​

另外,请务必为400px元素指定固定高度(例如#map_canvas),否则在jsFiddle中不会显示。

答案 1 :(得分:0)

以下是您可以做的事情:

<!-- Display Map -->
function showmap() {
     var map;
      function initialize() {
        var mapOptions = {
          zoom: 8,
          center: new google.maps.LatLng(-34.397, 150.644),
          mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        map = new google.maps.Map(document.getElementById('map_canvas'),
            mapOptions);
      }
initialize();
}

initialize();从未调用过负责创建地图的函数。你必须在你的showmap函数中调用它。

DEMO