2016-04-13 12 views
0

Ben Google Maps api 3 (JS) kullanıyorum ve her şey çalışıyor ... sort of, Bu yayınlanmamı engelleyen önemli bir sorun var. Harita, sayfayı beklediğim gibi yükler ve görüntüler. Ancak tüm görüntüler, zoom, sol alt köşedeki google logosunu kontrol eder ve itme pimi görüntüleri, sayfa her yüklendiğinde, sürekli olarak 2 dakika boyunca yüklenmez. Chrome dev araçlarda sayfa yükünü izledim ve tüm sayfa yüklendikten sonra 2 dakika bekledikten sonra kalan 7 görüntü 2 dakika sonra maviden çıktı ve listede başka hiçbir öğe durdu. istekleri engellemek. Internet Explorer ve Chrome web tarayıcılarını kullanarak PC'nin android telefonlarından da aynı sonuçları alıyorum. Bunu ayrıca özel ağımızdan ve diğer ağlardan (kişisel ve kamu) test ettik. Lütfen yardım edin. Şimdiden teşekkürler! İşte Google Map JS API - harita karoları yüklemesi ama tüm resimler (işaretleyiciler, zoom kontrol, vb.) 2 dakika süreyle yüklenmiyor

olan kodumu bazıları:

sayfa kafasındaki API komut oluşturma:

üretir
// Setup google maps JS file 
var script = document.createElement('script'); 
var asyncAttr = document.createAttribute('async'); 
var deferAttr = document.createAttribute('defer'); 
script.setAttributeNode(asyncAttr); 
script.setAttributeNode(deferAttr); 
script.setAttribute('type', 'text/javascript'); 
script.src = _googleMapJsPath; 
document.getElementsByTagName("head")[0].appendChild(script); 

(localhost için herhangi bir tuşa - Anahtar sunucusunda yok):

<script async defer type="text/javascript" src="https://maps.googleapis.com/maps/api/js"></script> 

Ardından, sorguyu dizgiye göre kullanmam gerekiyor çünkü gerekli olana kadar haritayı ayarlamak için beklemem gerekiyor.

self.currentMap = new google.maps.Map(self.element, { 
    mapTypeId: google.maps.MapTypeId.ROADMAP, 
    mapTypeControl: false, 
    scrollwheel: false 
}); 

Seti işaretleri: Burada

<div id="mapDiv" class="map-container"></div> 

DIV sınıf için CSS: Burada
$.each(newMap.points, function (index, item) { 
    if (item.latitude != 0 && item.longitude != 0) { 
     var marker = new google.maps.Marker({ 
      position: {lat: item.latitude, lng: item.longitude}, 
      map: self.currentMap, 
      optimized: false 
     }); 

     self.markers.push(marker); 
    } 
}); 

HTML öğesidir gerektiğinde yerine haritası başlatılır

.map-container { 
    width: 580px; 
    height: 580px; 
} 
+0

Yüklenen işaretleyici/resim sayısını azaltmayı denediniz mi? Ayrıca, onları yüklemek için gereken süreyi azaltıp azaltmayacağına bakın. –

+0

Bu, yalnızca oluşturulmuş tek bir nokta/işaretleyicidir. – Kyle

cevap

0

Bu happenin mi Sadece bilgisayarınızda veya birden fazla cihazda, tarayıcıda mı? Tuhaf bir cevap olacak ama ateş böceğim devre dışı bırakıldıysa ve benim için iyi çalışıyordu. Ayrıca kodunuzu göremediğimden beri JScript dosyalarınızın nerede üst veya alt kısımda var? Bu öncelikleri değiştirebilir. Şimdiye kadar sağladığın şeyi tahmin ediyorum.

+0

Bu, test ettiğim her cihazdan (PC'nin telefonları vb.) Gerçekleşiyor. Firebug kullanmıyorum. Google api betiği sayfanın en üstünde yer almaktadır ve haritayı uygulayan kodum en altta yer almaktadır. Her zaman ve yükte değilken haritayı yüklemek zorunda olduğum için api script sorgu dizesinde bir geri arama kullanmıyorum. – Kyle

+0

Kod örnekleri eklendi, yukarıdaki düzenlenmiş soruya bakın. – Kyle

0

Bu sorunun bu uygulama için kullanılan özel JS çerçevemize özgü olduğunu anladık. 3 sayfadan 2'sinde beklendiği gibi çalışan haritalarımız var. Tek sorun olan sorun sayfasında 1 sorun sayfasını düzeltmemiz gerekiyor. Hepinize teşekkür ederim!

İlgili konular