2013-07-01 28 views
8

Saydam bir hareket çubuğu oluşturdum, ancak yakınlaştırma denetimleri ve 'Google' kelimesi bunun arkasında. Konumlarını nasıl ayarlayacağımı bilmiyorum. Android telefonlardaki varsayılan Google Harita uygulaması, onları alt işlem çubuğunun üzerinde kaldırdı. Yakınlaştırma kontrollerini ve 'Google' kelimesini yeniden konumlandırmak mümkün mü?Google haritalarının konumlandırılması v2 zoom Android'deki denetimlerde zoom

map.getUiSettings().setZoomControlsEnabled(true); 

enter image description here

cevap

12

(Eylül 2013'te eklenmiştir) GoogleMap.setPadding() yöntemi ile gerçekleştirebilirsiniz: API Dokümanlar

map.setPadding(leftPadding, topPadding, rightPadding, bottomPadding); 

:

Bu yöntem harita üzerinde görünür bir bölgeyi tanımlamak için izin verir, haritanın sinyallerini, haritanın dört kenarının her birinin üzerine doldurmayı ayarlayarak kenarların etrafındaki haritanın bölümlerinin gizlenemeyeceğini işaret etmek. Harita fonksiyonları dolguya uyarlanacaktır. Örneğin, yakınlaştırma denetimleri, pusula, telif hakkı bildirimleri ve Google logosu tanımlanan bölgeye içine sığacak şekilde taşınacak, kamera hareketleri

Ayrıca description of how padding works in GoogleMap bakınız vb görünür bölgesinin merkezine göre olacaktır.

1

Maalesef bunları devre dışı olabilir Google Maps ile sağlanan yakınlaştırma denetimlerini taşımak ve kendi özel oluşturmak için bir yolu yoktur:

Sana etkinleştirmek/ile kontrollerini devre dışı bırakabilir biliyorum yakınlaştırma kontrolleri ve onları haritanın üstüne yerleştirin.

+0

Bu soru şu anda modası geçmiş, Mark Doliners yanıtına bakın, hangisi doğru. – Warpzit

+0

Bunun iyi olduğunu düşünelim 2013 yılında geri döndü waaaay ... js – yams

1

Bunun sizin için yararlı olacağını düşünüyorum. Benzer bir mizanpajı uygulamaya çalışıyorum, çözümüm kamera güncellemelerinde 3 saniyelik bir zaman aralığındaki kontrolleri denemek ve gizlemek oldu.

Bu, özel denetimleri uygulamak zorunda kalmadan en iyi çözüm olduğunu düşünüyorum.

mapFragment.setOnCameraChangeListener(new OnCameraChangeListener() { 

      @Override 
      public void onCameraChange(CameraPosition position) { 
       mapFragment.getUiSettings().setZoomControlsEnabled(true); 
       Timer t = new Timer(); 
       TimerTask tt = new TimerTask() { 

        @Override 
        public void run() { 
         getActivity().runOnUiThread(new Runnable() { 

          @Override 
          public void run() { 
           mapFragment.getUiSettings().setZoomControlsEnabled(false); 

          } 
         }); 

        } 
       }; 

       t.schedule(tt, 3000); 


      } 

     }); 

Bu çoğunlukla bir kavram kanıtıydı. Ama işe yarıyor.

+0

Yani bu sadece onları gizler? 4.4 ile şeffaf bir eylem çubuğu oluşturabilirsiniz gibi görünüyor. Onları kitkat – ono

+0

ile taşımanıza izin verdiklerini düşünüyorum, bu fikir onları harita üzerinde etkileşimde bulunduğunda ve onları başka bir şekilde gizlediğinde göstermek yerine onları taşımaktı. Bir geçici çözümdü çünkü henüz onları taşımak için bir yol bulamadım. – wapples