2013-07-07 76 views
1

我無法讓標記出現在地圖上。任何人都可以幫助我找出什麼是錯誤的,這將是一個巨大的幫助?谷歌地圖API標記不顯示

下面是代碼:

function initialize() { 
    var map_canvas = document.getElementById('map_canvas'); 
    var myLatlng = new google.maps.LatLng(33.748995, -84.387982); 
    var mapOptions = { 
     center: myLatlng, 
     zoom: 11, 
     mapTypeId: google.maps.MapTypeId.TERRAIN 
    } 
    var map = new google.maps.Map(map_canvas, mapOptions); 
    TestMarker();  
} 

// Function for adding a marker to the page. 
function addMarker(location) { 
    marker = new google.maps.Marker({ 
     position: location, 
     map: map 
    }); 
} 

// Testing the addMarker function 
function TestMarker() { 
     Atlanta = new google.maps.LatLng(33.748995, -84.387982); 
     addMarker(Atlanta); 
} 

google.maps.event.addDomListener(window, 'load', initialize); 

回答

2

你似乎缺少在和Atlanta變量前面的var關鍵字。爲了解決這個問題,我還會在全局空間中聲明map,和Atlanta函數以外的函數,以便其他函數可以訪問它們。試試這個:

var map; 
var marker; 
var Atlanta; 

function initialize() { 
    var map_canvas = document.getElementById('map_canvas'); 
    var myLatlng = new google.maps.LatLng(33.748995, -84.387982); 
    var mapOptions = { 
     center: myLatlng, 
     zoom: 11, 
     mapTypeId: google.maps.MapTypeId.TERRAIN 
    }; 
    map = new google.maps.Map(map_canvas, mapOptions); 
    TestMarker();  
} 

// Function for adding a marker to the page. 
function addMarker(location) { 
    marker = new google.maps.Marker({ 
     position: location, 
     map: map 
    }); 
} 

// Testing the addMarker function 
function TestMarker() { 
     Atlanta = new google.maps.LatLng(33.748995, -84.387982); 
     addMarker(Atlanta); 
} 

google.maps.event.addDomListener(window, 'load', initialize); 
+0

不幸的是標記仍然不顯示 – zachstarnes

+0

您是否包含了正確的Google Maps js文件?控制檯顯示什麼? –

+0

我也更新了我的答案 - 在'initialize()'之外聲明'var map'。 –