2017-05-30 46 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今天已经生成了密钥 –