2015-09-21 22 views
21

Bu sorunun tüm web üzerinde arama yaptım ve bunların hiçbiri bana herhangi bir çözünürlük vermiyor gibi görünüyor. Güney Afrika'nın haritasını görüntülemek için basit bir senaryom var.Google Maps API: TypeError: a tanımlanmamış

<!DOCTYPE html> 
<html lang="en"> 
<head> 
<meta charset="utf-8"> 
<meta http-equiv="x-ua-compatible" content="ie=edge, chrome=1" /> 
<title>Map Test</title> 
<script language="javascript" src="https://maps.googleapis.com/maps/api/js?sensor=true"></script> 
<style> 
#map-canvas { 
    height: 300px; 
    width: 980px; 
    margin: 0; 
    padding: 0; 
    margin-top: 10px; 
} 
</style> 
</head> 
<body> 
<div id="map-canvas" class="map_canvas"></div> 
<script type="text/javascript"> 
    function initialize() 
    { 
     var mapOptions = { 
      center: new google.maps.LatLng(-29.09958,26.18434), 
      zoom: 5, 
      mapTypeControlOptions: { 
       position: google.maps.ControlPosition.TOP_LEFT 
      } 
     }; 
     map = new google.maps.Map(document.getElementById('map-canvas'),mapOptions); 
    } 
    google.maps.event.addDomListener(window, 'load', initialize); 
</script> 
</body> 
</html> 

Ama tekrar tekrar aynı hata almaya devam ediyor. Farklı bir sunucuda denedim bile.

enter image description here

Ben de sık sık son günlerde bu hatayı gördüm

+0

Bu sorunu Chrome 44 ~ 45 kullanarak kopyalayamadım. Firefox'u bile denedim ve hata yok. –

+0

@KimHonoridez, sorunun Chrome'u etkilemediği görülüyor. Hata Firefox 41.0.1'de aralıklıdır. –

cevap

46

yardım edin, deneysel API sürümü ile ilgili bir sorun var gibi görünüyor. salım-sürüm yerine (temelde her zaman üretimde bırakma-sürümünü yüklemek gerekir)

Yük senaryo ve dokunma etkinliklerine yüklerken

<script language="javascript" src="https://maps.googleapis.com/maps/api/js?sensor=true&v=3"></script> 
+0

Çok teşekkürler, günümü değiştirirsiniz !! – Siick

+2

Google'ın varsayılan olarak deneysel (yani kararsız) sürümünü sunması beni şaşırttı. Ancak, çoğu zaman böyle bir durum söz konusudur: "Bir sürümü açıkça belirtmezseniz, varsayılan sürümü deneysel sürümü alırsınız. Bir istemci kimliği belirten Google Haritalar API for Work müşterileri, varsayılan sürümü yayın sürümüne sahip olur." (Https://developers.google.com/maps/documentation/javascript/versions adresinden) –

+0

Yanıt, v3 API'sinin en son "sürüm" sürümünü yükleyecektir. Bazı uygulamalar için, belirli bir versiyon istemek daha uygun olabilir (ör. 3.21). Daha fazla bilgi için Google'ın "En İyi Uygulamaları" na bakın: https://developers.google.com/maps/documentation/javascript/versions#best-practices –

1

Google Maps hataları kişiye aracılığıyla başladı. Android ve iOS'ta bir cordova uygulaması için kullanıyorum. enter image description here

Bunlar aldığım hatalar ancak yükleme sürümünün değiştirilmemesi sorunu çözmedi. Map adlı küresel var olup olmadığını

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=MYKEY&v=3.21&libraries=geometry,places"></script> 
+0

Cihazın çevrimiçiyken GMaps'leri eşzamansız yüklediğimi fark ettim ve yanlış URL’ye ulaştım. İşte başlıyorsun, cumartesi benim içimde aptal olmak için gitti. – Daniela

+0

Bunu çözmek için iyi bir iş ve bulgularınızı göndermek için teşekkürler. Başkalarına yardım etmek için her zaman iyidir –

1

Versiyon 3.30+ bu sorunun etkilenir.

örn:

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=YOURKEYHERE&v=3&callback=init" async defer></script> 
<script type="text/javascript"> 
    function init() { 
     Map.go(); 
    } 
    var Map = { 
     go: function() { 
      console.log("start engine"); 
     } 
    }; 
</script> 

Bu hata var:

TypeError: a.prototype is undefined

window.Map sonra her şey iyi gider yeniden adlandırılıyor.