13 Ekim 2021'de, google.load
için "Haritalar" modülünü sağlayan hizmeti kapatacağız.
Bu, 13 Ekim 2021'den sonra google.load
'da "Haritalar" modülünü kullanmaya çalıştığınızda bir hata (module "maps" is not supported) alacağınız ve harita yüklenmeyeceği anlamına gelir. Olası bozulmaları önlemek için alternatiflerden birine geçmeniz gerekir.
Ne yapmanız gerekiyor?
Öncelikle <script>
yükleyiciyi yükleyen <script>
etiketini kaldırın, ardından google.load
öğesine yapılan çağrıları kaldırın.google.load
Google Loader'ı başka amaçlarla kullanıyorsanız yükleyici <script>
etiketini yerinde bırakabilirsiniz.
Ardından, Maps JavaScript API'yi yüklemek için yeni bir yöntem uygulayın (aşağıdaki seçeneklerden birini belirleyin):
Google Loader'ın kullanıldığı mevcut örnek
Aşağıdaki örnekte, Maps JavaScript API'yi yüklemek için Google Loader'ın şu anda nasıl kullanıldığı gösterilmektedir (iki <script>
bloğu vardır):
Önce
<script type='text/javascript' src='https://www.google.com/jsapi'></script>
<script type='text/javascript'>
google.load("maps", "3.exp", {
"callback": initMap,
"key": "YOUR_KEY",
"libraries": "places,visualization"
});
function initMap() {
// Google Maps JS API is loaded and available
}
</script>
<script>
etiketi kullanılarak satır içi yükleme (önerilir)
Bu yaklaşım kullanıldığında Maps JavaScript API, sayfa yüklendiği sırada yüklenir. Satır içi yüklemeyi uygulamak için öncelikle www.google.com/jsapi'yi yükleyen <script>
etiketini ("önce") aşağıdaki örnekte gösterilen <script>
etiketiyle değiştirin:
<script async src="https://maps.googleapis.com/maps/api/js?libraries=places,visualization&key=YOUR_API_KEY&v=weekly&callback=initMap">
</script>
Ardından, artık gerekmediği için JavaScript kodunuzdaki google.load
işlev çağrısını kaldırın. Aşağıdaki örnekte, Haritalar kitaplığı başarıyla yüklendiğinde çağrılan boş bir initMap()
işlevi gösterilmektedir:
<script type='text/javascript'>
function initMap() {
// Google Maps JS API is loaded and available
}
</script>
Başka bir JavaScript dosyasından dinamik yükleme
Dinamik yükleme, Maps JavaScript API'nin ne zaman yükleneceğini kontrol etmenizi sağlar. Örneğin, kullanıcı bir düğmeyi tıklayana veya başka bir işlem yapana kadar Maps JavaScript API'nin yüklenmesini bekleyebilirsiniz. Dinamik yüklemeyi uygulamak için öncelikle www.google.com/jsapi adresini yükleyen <script>
etiketini ("önce") aşağıdaki örnekte gösterildiği gibi <script>
etiketini programatik olarak ekleyen kodla değiştirin:
var script = document.createElement('script');
script.src =
'https://maps.googleapis.com/maps/api/js?libraries=places,visualization&key=YOUR_API_KEY&v=weekly&callback=initMap';
script.async=true;
Ardından, geri çağırma işlevinizi pencere nesnesine şu şekilde ekleyin:
window.initMap = function() {
// Google Maps JS API is loaded and available
};
Son olarak, <script>
etiketini sayfanın başlığına şu şekilde ekleyin:
document.head.appendChild(script);