Birçok belirteçleri ekleme google haritalar öldürür - Ben bunu nasıl yapabilirim?

9 Cevap php

Ben burada tekrar sıkışıp kaldım. Benim uygulamada entegre bir google haritaları görüntülenen gereken 120 000 koordinatları ile bir veritabanı var. Şey ve ben sadece koordinatların tüm döngü ve tarayıcı öldürüyor her biri için ayrı bir işaretleyici oluşturma ve addOverlay işlevini kullanarak ekleyerek zor yoldan öğrendim olmasıdır. Kesinlikle yapmak için yanlış bir yol olması gerektiğini Yani bu-I kümeleme veya Zoom seviyesi toplanmaya üzerinde biraz okudum - Ben çoğu görülen olmayacak, özellikle eğer bu belirteçlerin her render hiçbir noktaya gidecekseniz anlıyorum Ben bu işe almak için nasıl hiçbir fikrim yok dışında olmayan haritanın parçaları render.

Buradan nasıl bu düzeltebilirim. Adamlar burada yardıma ihtiyacım var lütfen: (

9 Cevap

Burada çeşitli tekniklerle iyi bir karşılaştırma var http://www.svennerberg.com/2009/01/handling-large-amounts-of-markers-in-google-maps/

Ancak, belirteçlerin toplu verilen, kesinlikle sadece (- mantıklı şeyler yapmak için bağlantı teknikler vardır değilse bu sayı mütevazı olduğunu varsayarak) geçerli görünümde görülmelidir işaretçileri kılan bir teknik istiyorum

If you really have more than 120,000 items, there is no way that any of the client-side clusterers or managers will work. You will need to handle the markers server-side. There is a good discussion here with some options that may help you.

Update: SO önce bu gönderdiniz, ama this tutorial PHP bir sunucu tarafı kümeleme yöntemini açıklar. Bu Static Maps API ile kullanılmak içindir, ama bu kümelenmiş belirteçlerinin her görünüm değişiklikleri geri böylece onu inşa ettik. Görünümü değiştiğinde işaretçileri aktarılmasında bir gecikme olmasına rağmen, oldukça iyi çalışıyor. Ne yazık ki 3000'den fazla belirteçleri ile denedim değil - ben 120000 ele ne kadar iyi bilmiyorum. İyi şanslar!

Ben özellikle Google maps ile herhangi bir iş yapmadım ama birçok aylar önce, ben bir büyük Telco için bir mobil işgücünü yönetilen bir projede yer aldı.

Onlar (makineden ziyade ağ üzerinden yerel) kendilerine tahsis işleri için yakınlaştırmak ve biz sizinki gibi çok benzer sesler benzer bir sorunu çözmüş haritalar vardı benzer işleve sahipti. Haritalar üzerinde ilgi çekici yerler çağrıldı ve işçi bir metinsel açıklama almak için seçebilirsiniz dönüm noktası işaretçileri adı verilen harita üzerinde küçük belirteçleri ile belirtilmiştir ..

Minimum zoom, harita işe yaramaz hale, bölge işaretçileri bir bolluk var olurdu. Biz küçük bir sayıya (400) için dönüm noktası işaretçileri sınırlamak için bir komut karar. Bunu yapmak için, harita ne olursa olsun bize 400 matris elemanlarını verdi yakınlaştırma düzeyi, bir 20x20 matris bölündü.

Bir dönüm noktası olarak başka aynı matris elemanını paylaşılan eğer, uygulama onları birleştirdi ve bu matris elemanının tüm yerlerinden metnini içeren açıklayıcı metin ile tek bir dönüm noktası işaretçi oluşturulur.

Bu şekilde 400'den fazla dönüm göstericiler vardı asla. Minion yakınlaştırılmış gibi, dönüm noktası işaretçileri rejenere ve yerler farklı matris elemanları bitebileceğini - bu durumda, onlar artık diğer yerler ile kombine edilmiştir.

Benzer şekilde, bazen uzaklaştırma tek bir dönüm noktası işaretçisi olarak iki veya daha fazla yerler birleşti.

Söylediğim gibi, ben bu yüzden bu mümkün olduğundan emin değilim Google Maps kendisi ile çok az deneyime sahip, her ne kadar "kümeleme veya yakınlaştırma düzeyinde toplanmaya" ile ulaşmak için çalışıyoruz ne gibi geliyor. Ama Google'ın itibar verilen, ben öyle sanıyorum.

Ben size mevcut kodu ile birlikte bir işaretleyici yönetici sınıfı such as this one kullanmanızı öneririz. Marker yöneticisi sınıfı belirteçlerin binlerce yönetmenize olanak sağlar ve bellek kullanımını optimize eder. Orada işaretleyici yöneticileri (sadece bir tane değil) bir çeşittir ve ben biraz Google'da öneririz.

Eğer çok hızlı bir şekilde yüzlerce veya belirteçlerin hatta binlerce görüntülemek isterseniz burada olmayan bir küme çözümdür. Sen OverlayView ve DocumentFragment bir arada kullanabilirsiniz.

http://nickjohnson.com/b/google-maps-v3-how-to-quickly-add-many-markers

Sadece bunun için JS daha güçlü bir şey varsa ...

Tamam yeter küçümseme:).

Have you used the Flash Maps API? Kevin Macdonald has successfully used it to cluster not 120K markers but 1,000,000 markers. Check out the Million Marker Map: http://www.spatialdatabox.com/million-marker-map/million-marker-map.html

Harita yanıt bu çözüm un etkilenen oldukça fazla. Eğer ilgileniyorsanız onu buradan ulaşabilirsiniz: http://www.spatialdatabox.com/sdb-contact-sales.html

Bunu dene:

http://googlegeodevelopers.blogspot.com/2009/04/markerclusterer-solution-to-too-many.html

Zaten onun eski bir soru ve birçok cevaplar var, ama referans olarak ben bu aynı sorun arar herkes yardımcı olacağını umuyoruz Stackoverflow daha fazladır.

Garip sesler olsa oldukça basit bir çözüm kullanın HTML5 tuval 10.000 belirteçleri kadar yüklemek için hızlı yolu yanı sıra normal bir işaretleyici olursa tarayıcı işleyebilir eminim bir etiket, vardır. Belirteçleri ama hafif belirteçler konvansiyonel değil.