2012-02-24 12 views
7

Estoy tratando de utilizar las API de Google Maps v3 pero siempre tengo un errorAPI de Google Maps v3 DrawingManager ningún trabajo

añadí la secuencia de comandos en la página:

<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false&libraries=drawing"></script> 

y no tengo implementadas:

var drawingManager = new google.maps.drawing.DrawingManager({ 
     drawingMode: google.maps.drawing.OverlayType.MARKER, 
     drawingControl: true, 
     drawingControlOptions: { 
     position: google.maps.ControlPosition.TOP_CENTER, 
     drawingModes: [google.maps.drawing.OverlayType.MARKER, google.maps.drawing.OverlayType.CIRCLE] 
     }, 
     /*markerOptions: { 
     icon: new google.maps.MarkerImage('http://www.example.com/icon.png') 
     },*/ 
     circleOptions: { 
     fillColor: '#ffff00', 
     fillOpacity: 1, 
     strokeWeight: 5, 
     clickable: false, 
     zIndex: 1, 
     editable: true 
     } 

me dieron el mismo error de siempre:

Uncaught TypeError: Cannot read property 'DrawingManager' of undefined

Respuesta

0

Aparte de que su ejemplo de código no está completo (creo que acaba de perder los corchetes de cierre cuando lo ha copiado), no veo nada obvio. No he usado la biblioteca de Dibujo, pero parece que estás siguiendo la documentación correctamente. Yo diría que use Firebug para comprobar en qué Javascript se está cargando desde Google y vea si menciona algo sobre la clase DrawingManager.

9

Recibí el mismo error y lo descubrí. Utilizar 'https' en lugar de 'http' ...

< script type="text/javascript" 
src="https://maps.googleapis.com/maps/api/js?sensor=false&libraries=drawing"> 
</script> 
+0

Sería estupendo si pudiera dar una explicación también. – asheeshr

12

'Los conceptos en este documento se refieren a características sólo están disponibles dentro de la biblioteca google.maps.drawing. Esta biblioteca no se carga por defecto cuando se carga el API de JavaScript de Google Maps, pero debe especificar explícitamente mediante el uso de un parámetro de arranque bibliotecas: '

http://maps.googleapis.com/maps/api/js?sensor=false&libraries=drawing

+0

Respuesta de ahorro de tiempo. Google es inteligente y lo hizo fácil de usar. Gracias – M98

0

intenta agregar

}); 

al final .

Espero que ayude.

1

Parece que su código se está ejecutando antes de que la biblioteca se haya cargado. Si está cargando de forma asíncrona, debe incluir la biblioteca en la misma llamada API llamada que especifica una devolución de llamada a la función de inicialización del mapa (que presumiblemente incluye/llama el fragmento de código). Si su función de inicialización se llama initMap luego hacer esto:

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/jskey=YOUR_API_KEY?libraries=drawing&callback=initMap"></script>

Tengo el mismo error al tener 2 etiquetas de script; uno que carga la biblioteca de dibujo (como el suyo, sin devolución de llamada) y otro solo con la devolución de llamada. Me fijo después de que Google amablemente escribió el siguiente en mi consola

You have included the Google Maps API multiple times on this page. This may cause unexpected errors.

Cuestiones relacionadas