2010-02-03 26 views
6

Google Haritalar API'sı v2'yi kullanıyorum ve haritayı Google'ın Haritalar sayfasında olduğu gibi yazdırmasını istiyorum.Google Haritalar "yazdırma" modunda nasıl görüntülenir?

Küçük yazıcı simgesini tıklatabilir ve aynı haritaya sahip yeni bir açılır pencere oluşturur, ancak tüm yazdırılamayan şeyler (denetimler gibi) çıkarılır. Navigator'da "Baskı önizleme" veya "Yazdır" a bastığınızda bu efekti elde etmek için @media print kullandıklarını biliyorum. Ancak, açılır pencere yazdırma modunda değil.

Geçerli medya türünü "yazdırmaya" ayarlamak gibi yaptıklarının sihirini yapmanın bir yolu var mı? Ya da özel bir CSS stili hile hile?

Aynı sayfada bir Silverlight eklentisi ve bir Google Map var ve sadece yazdırmaya hazır haritayı içeren bir pop-up pencere oluşturmak istiyorum (Google'ın yaptığı gibi).

http://abcoder.com/google/google-map-api/print-button-for-google-map-api/ sayesinde HTML içeriğini nasıl alabileceğimi biliyorum ancak içeriği yalnızca tüm kontrollerle (istediğim) elde edebiliyorum.

Herhangi bir yardım için teşekkür ederiz.

cevap

6

Google maps onlar .. böylece baskı css dosyası veya bunları gizler pop-up pencere display:none bu ayarı .. yazdırmak istemiyorum bütün unsurları bir sınıf gmnoprint koymak

.gmnoprint{ 
    display:none; 
} 

Of'course Bu, google-baskı-değil-baskı olarak ne olursa olsun saklayacaktır .. Eğer diğer öğeleri seçmek istiyorsanız, bir şekilde html kodunu ayrıştıracaksınız :(

+0

Evet, sonunda IE'deki Geliştirici araçlarıyla oynarken kendimi farkettim. Stili ekledim ve beklediğim gibi çalışıyor :) – R4cOON

+0

Yardımın için teşekkürler, ihtiyaç duyduğum şeyin bir parçası oldu. Bu haritayı gösterdi, ancak üzerinde sahip olduğum polinler hala gizleniyor, bunları göstermek için nasıl bir fikir var? – MikeSchem

1

Google haritalarını yazdırmak için başka bir kullanışlı yaklaşım da Google Static Maps API'u kullanmaktır. bir dizi görüntü parametresine göre statik bir görüntü oluşturabilir (konum, yakınlaştırma seviyesi, boyut, işaretleyiciler vb.) ve bu resmi baskı görünümü sayfanızda ekleyin.

+1

Bu benim için bir seçenek değil. Ben harita üzerinde özel bindirmeleri bir sürü var ve ben gayet iyi bir harita görüntüsü elverişli iken baskı yapabilmek için oluşturma mantığını çoğaltmaktan hoşlanmıyorum. – R4cOON

+0

Yeterince adil: P ... Statik API'nin bir sınırlaması, tüm özel işaretleyicileri vb. Yapamazsınız. Bu yüzden çok fazla bindirme var, sizin için doğru değil. Soruya +1 rağmen :) – RedBlueThing

3

Aynı sorun, kml yoluyla eklenen özel bir harita görüntüsü kaplamasıyla da yaşıyordum. Gaby'nin gmnoprint sınıfı hakkında kafaları vardı. Benim durumumda, uygulanan gmnoprint sınıfının bulunduğu div, kaybolduğum img öğemin doğrudan ebeveyni idi.

$("#printable-map").click(function() { 
     if($(this).text() == "Include overlay when printing") { 
      $(this).text("Exclude overlay when printing"); 
      $("[src$=blah.png]").parent().removeClass("gmnoprint"); 
     } else { 
      $(this).text("Include overlay when printing"); 
      $("[src$=blah.png]").parent().addClass("gmnoprint"); 
     } 
    }); 

Test ve Safari, FF ve Chrome çalışır: Temelde bir "bindirme yazdırılabilir bağlantısını yapmak" yarattı.

İlgili konular