I get two error when using google map:
i don't know if there is any connection between the two, but the final result is that my page cannot load the map.
here is my head tag:
<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>
here is the function which i call the google map:
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();
}
these are my 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;
thanks for your prompt answer.
You can do that by accessing Application restrictions, then navigate to “HTTP referrers” then type in your domain's name. After making the necessary changes, click Save. Copy the API key because you will need it to get the map back on your website.
maps) {...} will give you a reference error if google is undefined (i.e. if the API didn't load). Instead, use if (typeof google === 'object' && typeof google. maps === 'object') {...} to check if it loaded successfully.
I faced the same type of problem. This occurs if your web page including maps api more than one time.
I have checked in my case there was a .js
file that was also calling maps api, so please first check if you are including maps api more than one time, if you are, remove the one.
For those who append Google Map script to DOM on runtime, you should remove traces of Google Map before you re-append the next time.
You can unload google map script by following 2 steps:
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);
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With