2016-07-04 17 views
-1

私のコードは以下のとおりです。すべてがうまくいきました。今度はマップが表示されません。ウェブサイト上で何も変更していない。何か案は?Googleマップが表示されなくなりました

エラー:

InvalidValueError: handleApiReady is not a function 

コード:

<form...> 
    <input type="hidden" name="latitude" id="latitude" value="<?php echo $latitude;?>" /> 
    <input type="hidden" name="longitude" id="longitude" value="<?php echo $longitude;?>" /> 

    <script type="text/javascript" src="//maps.google.com/maps/api/js?key=myKey&callback=handleApiReady"></script> 
    <script type="text/javascript"> 
     var map=null; 
     var myLatlng=null; 
     function handleApiReady() { 
      myLatlng = new google.maps.LatLng(28.318890, -16.494598); 
      var myOptions = { 
       zoom: 16, 
       center: myLatlng, 
       mapTypeId: google.maps.MapTypeId.ROADMAP 
      } 
      map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 
      var marker = new google.maps.Marker({ 
       position: myLatlng, 
       draggable: true, 
       title: 'Fotos', 
       icon: '//google-maps-icons.googlecode.com/files/factory.png', 
       map: map 
      }); 
      google.maps.event.addListener(marker, 'dragend', function (event) { 
       document.getElementById("latitude").value = this.getPosition().lat(); 
       document.getElementById("longitude").value = this.getPosition().lng(); 
      }); 
     } 
    </script> 
    <div id="map_canvas" style="width:379px;height:390px;"></div> 
</form> 
+0

マップの前にhandleApiReady定義を挿入しようとしましたか? – pecci

+0

最初のエラーはなくなりましたが、別のエラーが発生しました:TypeError:aがnull – user1406271

+0

マップのapiドキュメンテーションを見ましたが、コールバックにはinitMap()という名前が付いているようです。https:/ /developers.google.com/maps/documentation/javascript/tutorial#The_Hello_World_of_Google_Maps_v3 – pecci

答えて

1

私はちょうど

<script type="text/javascript" src="//maps.google.com/maps/api/js?key=myKey&callback=handleApiReady"></script> 

を変更する必要がありました

<script async defer src="//maps.google.com/maps/api/js?key=myKey&callback=handleApiReady"></script> 

問題を解決しました。

関連する問題