2012-07-14 76 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