2012-07-14 79 views
3

我試圖創建一個MapView與內置變焦控制器,下面的代碼:如何讓MapView.setBuiltInZoomControls(true)正常工作?

MapView mMapView; 
mMapView=new MapView(this, GMAPS_API_KEY); 
mMapView.setBuiltInZoomControls(true); 
mMapView.setSatellite(false); 
mMapView.getController().setZoom(16); 
someView.addView(mMapView); 

地圖工作正常;我還在它上面添加了MyLocationOverlay,它工作正常。但是,縮放控件不顯示。對setBuiltInZoomControls(true)的調用完全被忽略。沒有記錄錯誤消息。

爲了讓setBuiltInZoomControls按預期工作,我需要什麼可能會丟失?

是的,我的活動擴展了MapActivity。

+0

我在意識到這不僅僅是變焦控制不起作用。整個地圖視圖是殘缺的:(1)移動手指不動; (2)MyLocatioOverlay不會立即顯示,而只會在幾秒鐘後(我猜第一次更新),即使位置_is_從一開始就可用。我發現的所有關於MapView的教程和示例假設您只是將一個mapview節點放入xml佈局中,並使用setContentLayout對其進行膨脹。然而,文檔沒有說任何這是唯一的方式MapView應該工作... – matteo 2012-07-14 19:22:36

+0

任何人都可以指向我的任何示例創建一個MapView的編程方式,並將其添加到現有的意見?我已經解決了這個問題,但正如我所說的那樣,地圖還遠沒有完全實現功能 – matteo 2012-07-14 19:24:09

回答

3

嘗試

mMapView.setClickable(true); 

我只是碰到了這個自己,它是如何我最終解決它(雖然我用XML做的,而不是屬性的活動代碼中)。

+0

這解決了所有問題,除了MyLocationOverlay在幾秒鐘後才顯示出來的脂肪(儘管自開始以來可以使用位置_is_) 。我最終創建了一個只針對地圖的活動,在xml佈局中使用MapView,就像在示例中一樣,它的作用就像一個魅力。如果MapView無法以編程方式創建並添加到現有視圖中,則應在文檔中指定它,以便開發人員不會浪費時間去嘗試一些看似完全合理的事情。 – matteo 2012-07-28 09:52:20