style referernotallowedmaperror multiple google error addmarker google-maps google-maps-api-3

referernotallowedmaperror - ha incluido la API de Google Maps varias veces en esta página. Esto puede causar errores inesperados.



markerclusterer (5)

¿Alguno de estos archivos incluye la API de mapas?

<script src="../dd/markerclusterer_compiled.js" type="text/javascript"></script> <script src="../dd/dealers_js.js" type="text/javascript">

Recibo dos errores cuando uso google map:

  1. Advertencia: ha incluido la API de Google Maps varias veces en esta página. Esto puede causar errores inesperados.
  2. a es nulo (main.js)

No sé si hay alguna conexión entre los dos, pero el resultado final es que mi página no puede cargar el mapa.

Aquí está mi etiqueta de la cabeza:

<script type="text/javascript" src="../s/Jquery/jquery-1.6.1.min.js"></script> <script type="text/javascript" src="../s/jquery.placeholder.min.js"></script> <script type="text/javascript" src="../s/index.js"></script> <script type="text/javascript" src="../s/Jquery/ui/jquery.ui.core.js"></script> <script type="text/javascript" src="../s/Jquery/ui/jquery.ui.widget.js"></script> <script type="text/javascript" src="../s/Jquery/ui/jquery.ui.position.js"></script> <script type="text/javascript" src="../s/Jquery/ui/jquery.ui.autocomplete.js"></script> <script src="../dd/markerclusterer_compiled.js" type="text/javascript"></script><script src="../dd/dealers_js.js" type="text/javascript"></script><script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>

Aquí está la función que llamo el mapa de google:

function set_google_map(set_region) { var zoom; var center; switch (set_region) { case "usa": zoom = 3; center = new google.maps.LatLng(37.09, -95.71); break; case "europe": zoom = 3; center = new google.maps.LatLng(48.58, 7.71); break; case "east": zoom = 3; center = new google.maps.LatLng(31, 121); break; default: zoom = 1; center = new google.maps.LatLng(35, 5); } // Creating the map map = new google.maps.Map(document.getElementById(''map''), options); google.maps.event.addListener(map, ''click'', function(){ clean_icons(); if (infowindow) infowindow.close(); }); map.setCenter(center); map.setZoom(zoom); //bounds = new google.maps.LatLngBounds(); }

estas son mis variables:

var UseridEncr; var super_category="ATE"; var infowindow; var map; var bounds; var image="../dd/i/green.png"; var image_active="../dd/i/red.png"; var mc ; var location_changed=true; var current_region="usa"; var mcOptions = {gridSize:30, maxZoom: 8}; var last_marker; var last_marker_z; var DealersData ; var markers=[]; var markers_selected=[]; claster_markers=[]; var current_view=0; myData={}; var selected_items=[]; var total_selected=0;

gracias por su pronta respuesta


¿Qué has definido para "opciones"?

map = new google.maps.Map(document.getElementById(''map''), **options**);

No lo veo en la lista de variables.

Busque todas las ubicaciones de (suponiendo que no ha hecho una copia local). Creo que probablemente lo haya agregado a dealers_js.js u otro archivo que los distribuidores incluyan.

Jim


Me enfrenté al mismo tipo de problema. Esto ocurre si su página web incluye mapas api más de una vez.

He comprobado que en mi caso había un archivo .js que también llamaba api de mapas , así que primero compruebe si está incluyendo api de mapas más de una vez, si es así, elimine uno.


Para aquellos que adjuntan el script de Google Map a DOM en el tiempo de ejecución, debe eliminar los rastros de Google Map antes de volver a agregar la próxima vez.

Puedes descargar el script de google map siguiendo los 2 pasos:

  • Eliminar los scripts de mapas de google de DOM.
  • Eliminar google de BOM (objeto ventana).


Código JS para lograr:

declare var window; function removeGoogleMapScript() { console.debug(''removing google script...''); let keywords = [''maps.googleapis'']; //Remove google from BOM (window object) window.google = undefined; //Remove google map scripts from DOM let scripts = document.head.getElementsByTagName("script"); for (let i = scripts.length - 1; i >= 0; i--) { let scriptSource = scripts[i].getAttribute(''src''); if (scriptSource != null) { if (keywords.filter(item => scriptSource.includes(item)).length) { scripts[i].remove(); // scripts[i].parentNode.removeChild(scripts[i]); } } } } function addGoogleMapScript() { removeGoogleMapScript(); console.debug(''adding google script...''); let dynamicScripts = [`https://maps.googleapis.com/maps/api/js?v=quarterly&key=123yourApiKey`]; for (let i = 0; i < dynamicScripts.length; i++) { let node = document.createElement(''script''); node.src = dynamicScripts[i]; node.type = ''text/javascript''; node.async = false; node.charset = ''utf-8''; node.onload = uponFinishLoadingScript; //probably to initialise your map or something document.head.appendChild(node); } }


Tuve el mismo problema exacto, finalmente encontré el código que estaba causando el problema dentro del archivo functions.php.

// Scripts personalizados y estilos //

wp_enqueue_script( ''wpjobus-google-maps-script'', ''https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false'', array( ''jquery'' ), ''2013-07-18'', true );

Agregué la clave api a lo anterior. El código de abajo fue el resultado final.

// Scripts personalizados y estilos // wp_enqueue_script (''wpjobus-google-maps-script'', '' https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&key=MY_API_KEY '', array ( ''jquery''), ''2013-07-18'', true);

Luego borré el script que había añadido anteriormente al encabezado de la página que tenía el mapa y ¡listo!