【问题标题】:How do I get MapView.setBuiltInZoomControls(true) to work?如何让 MapView.setBuiltInZoomControls(true) 工作?
【发布时间】:2012-07-14 18:56:18
【问题描述】:

我正在尝试创建一个带有内置缩放控制器的 MapView,代码如下:

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。

【问题讨论】:

  • 我意识到不仅仅是缩放控件不起作用。整个地图视图瘫痪:(1)在它上面移动手指它不动; (2) MyLocatioOverlay 不会立即显示,而是仅在几秒钟后显示(我猜是第一次更新时),即使位置 从一开始就可用。我发现的所有关于 MapView 的教程和示例都假设您只是将 mapview 节点放在 xml 布局中并使用 setContentLayout 对其进行膨胀。然而,文档并没有说这是 MapView 应该工作的唯一方式......
  • 谁能指出任何以编程方式创建 MapView 并将其添加到现有视图的示例?我已经做到了,但正如我所说,地图还远未完全发挥作用

标签: android zooming android-mapview


【解决方案1】:

试试

mMapView.setClickable(true);

我自己也遇到了这个问题,我最终解决了这个问题(尽管我是使用 XML 属性而不是在 Activity 代码中解决的)。

【讨论】:

  • 这解决了所有问题,除了 MyLocationOverlay 直到几秒钟后才显示的脂肪(尽管位置 从一开始就可用)。我最终只为地图创建了一个活动,在 xml 布局中使用 MapView,如示例中所示,它就像一个魅力。如果不能以编程方式创建 MapView 并将其添加到现有视图中,他们应该在文档中指定它,这样开发人员就不会浪费时间尝试看似完全合理的事情。
猜你喜欢
  • 1970-01-01
  • 2013-03-04
  • 1970-01-01
  • 1970-01-01
  • 2012-08-03
  • 1970-01-01
  • 2011-05-04
  • 2011-04-07
  • 2011-07-27
相关资源
最近更新 更多