2017-05-30 96 views
-1

我在嘗試爲我正在維護的網站實施Google地圖時遇到了此問題。我從螢火蟲得到以下錯誤:TypeError:地圖未定義使用Google地圖API時

TypeError: map is undefined

我做錯了什麼?

注意:我們只是在上週更改域名。

謝謝

<div id="mapd" style="width: 100%; height: 550px;"></div> 
<script src="https://maps-api-ssl.google.com/maps/api/js?key=mykey&sensor=false" type="text/javascript"></script> 
<script type="text/javascript"> 

var map; 
var markers = []; 
var markers1 = []; 
var infoWindow; 


function load1() { 

    map = new google.maps.Map(document.getElementById("mapd"), { 
    center: new google.maps.LatLng(22.00, 72.22), 
    zoom: 8, 
    mapTypeId: 'roadmap', 
    mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DROPDOWN_MENU} 
    }); 
    infoWindow = new google.maps.InfoWindow(); 


    google.maps.event.addListener(map, 'dragend', function(ev){ 
    var s = $("#searchcheck").is(':checked'); 
    if(s==true) 
    { 
     $('#loading').css('display','block'); 
     $('#loading1').css('display','block'); 
     searchLocationsNear(map.getCenter()); 
    } 
    }); 

} 
+0

如果您更改域,那麼它必須更新到鍵關聯[應用](https://console.developers.google.com/)。 –

+0

@ Deep3015由於舊版域名是2016年之前的版本,因此我今天剛剛添加了密鑰,因此關鍵是指向正確的域名。 – takachou

+1

請提供證明問題的[mcve]。我沒有得到報告的錯誤與發佈的代碼('load1'函數從未被調用,所以沒有地圖)。請注意,發佈的代碼有一個語法錯誤(缺少開頭'<'),但是會產生不同的錯誤('未捕獲的TypeError:無法讀取'null''屬性'firstChild')。 – geocodezip

回答

0

的原因是你還沒有加入該庫中的谷歌地圖API密鑰。你可以在庫中找到關鍵詞'myKey'。

  1. 獲取谷歌API密鑰Here
  2. 替換 「的myKey」 用隨附的鑰匙谷歌。
  3. 再試一次。

試試此代碼。

<!DOCTYPE html> 
    <html> 
     <head> 
     <title>Simple Map</title> 
     <meta name="viewport" content="initial-scale=1.0"> 
     <meta charset="utf-8"> 
    <div id="mapd" style=" width: 100%; 
     height: 550px; 
     position: absolute; 
     z-index: 11;float: inherit; 
     display: block;"></div> 


    <script type="text/javascript"> 

    var map; 
    var markers = []; 
    var markers1 = []; 
    var infoWindow; 


    function initMap() { 

     map = new google.maps.Map(document.getElementById("mapd"), { 
     center: new google.maps.LatLng(22.00, 72.22), 
     zoom: 8, 
     mapTypeId: 'roadmap', 
     mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DROPDOWN_MENU} 
     }); 
     infoWindow = new google.maps.InfoWindow(); 


     google.maps.event.addListener(map, 'dragend', function(ev){ 
     var s = $("#searchcheck").is(':checked'); 
     if(s==true) 
     { 
      $('#loading').css('display','block'); 
      $('#loading1').css('display','block'); 
      searchLocationsNear(map.getCenter()); 
     } 
     }); 

    } 

    </script> 

    <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyA1TwYksj1uQg1V_5yPUZqwqYYtUIvidrY&callback=initMap" 
     async defer></script> 

    </body> 
    </html> 
+0

** myKey **的寫法是因爲OP不想透露真正的密鑰 –

+0

試試我的解決方案,你會得到你想要的。 –

+1

在上面的評論中看到你的答案,OP今天已經生成了密鑰 –

相關問題