Rumah >hujung hadapan web >tutorial js >Penyelesaian kepada Peta Google bukan kemahiran opening_javascript
Peta Google disekat oleh Tembok Api Besar China, jadi tidak perlu memetik terus API Peta Google di bawah nama domain http://maps.googleapis.com/maps/api/js?sensor=false&language= en. Sebaliknya, tukar kepada http:/ Untuk alamat /maps.google.cn/maps/api/js?sensor=false, nama domain domestik google.cn tidak disekat dan boleh digunakan.
Nota: Walaupun google.cn boleh digunakan, ia akan mengeluarkan beberapa js untuk merujuk sumber google.com, yang akan menyebabkan kelewatan dalam pemaparan peta, jadi jangan letakkan API Peta Google di hadapan kandungan anda, seperti dalam teg kepala Sebaliknya, letakkannya di hujung kandungan atau teg akhir HTML untuk mengelakkan kandungan halaman anda daripada kosong dan penyemak imbas tidak dapat memaparkan kandungan.
Jangan gunakan acara window.onload untuk melukis, jika tidak, peta Google tidak akan dipaparkan tepat pada masanya kerana sumber google.com perlu dimuatkan dan sumber google.com dipintas, yang akan menyebabkan permintaan untuk tamat masa (kira-kira 2 minit).
Gunakan parameter panggil balik Google untuk menghantar nama fungsi panggil balik Selepas ujian, kaedah ini menjadikan peta Google lebih pantas daripada menggunakan acara window.onload.
Kod sampel:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>网站引用谷歌地图打不开解决办法:使用google.cn</title> </head> <body> <div id="map_canvas" class="map" style="height: 350px;width: 500px;"></div></body> <script type="text/javascript" src="http://maps.google.cn/maps/api/js?sensor=false&callback=renderGoogleMap"></script> <script type="text/javascript"> function renderGoogleMap() { var geocoder = new google.maps.Geocoder(); geocoder.geocode({ 'address': '广西桂林市中心广场' }, function (results, status) { if (status == google.maps.GeocoderStatus.OK) { map.setCenter(results[0].geometry.location); } else { alert("Geocode was not successful for the following reason: " + status); } }); var mapOptions = { zoom: 17, mapTypeId: google.maps.MapTypeId.ROADMAP }; var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions); } </script> </body> </html>