问题标签 [itemizedoverlay]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - android MapView 画线
我正在尝试在我的 mapActivity 上绘制一些覆盖路径。
这是我的 ItemizedOverlay 类:
这就是我调用它的 MapActivity。
关于如何在地图上显示线条的任何建议。截至目前,它正在运行。但不显示覆盖。
谢谢你。
android - Android 覆盖整个地图
您将如何创建覆盖整个地图的 ItemizedOverlay?
我在地图上有多个标记,它们是 ItemizedOverlay 类。
我想创建另一个覆盖整个地图的 ItemizedOverlay 以拦截不在我的标记上而是在地图本身上的触摸事件。我在其他类似这样的SO 问题中读过,唯一的方法是通过 ItemizedOverlay->onTap。问题是我不知道如何创建覆盖整个地图的可绘制标记。
我已经尝试过 LinearLayout 可绘制对象,但它似乎只能使用可绘制图像作为标记。
这是我的代码
并创建覆盖
和可绘制的 xml
提前致谢
android - ItemizedOverlay 仅显示 FIRST ENTRY
我按照Google Dev上的教程创建了一个 ItemSizedOverlay。我的想法是从名为list的 ArrayList 中获取多个位置。因此,我使用 for() 读出 ArrayList 列表并将位置添加到名为PowerStationOverlay的 ItemSizedOverlay - 但奇怪的是,这仅给了我列表的第一个条目- 其他条目未显示在地图上。 ..
如果我像在教程中那样在静态位置读取 - 它工作正常,但是当我通过 ArrayList 和 for() 读取位置时,它应该迭代它 - 然后它不起作用。
我很困惑我不明白这一点 - 怎么了?
protected void onCreate(Bundle savedInstanceState) {
mapOverlays.add(itemizedoverlay);
}
这里是称为 PowerStationOverlay 的 ItemSizedOverlay。
android - 重绘/刷新Itemizedoverlay?(安卓/谷歌地图 API)
我正在使用谷歌地图 API 制作 GPS 跟踪器,并使用 ItemizedOverylay 在地图上显示用户当前位置。由于用户位置定期更改,我设置了一个 CountDownTimer 来删除当前的 Itemizedoverlay 并每 5 秒在新位置添加一个新的(无法更改 itemizedOverlay 的位置)但屏幕没有绘制除非我亲自触摸屏幕,否则新职位!这是我的逐项叠加的代码:
有谁知道当我放入新项目时是否有方法或可以调用强制重绘/刷新的方法?
编辑:这是 MapsActivity 的片段:
android - ItemizedOverlay.draw() 的性能问题
我有一堂课:
它覆盖draw()
了ItemizedOverlay
.
在我的活动中,我有一个包含许多叠加项目的地图以及一个列表。我从 traceviewer 输出和 logcat 中注意到,MapView.onDraw()
即使地图没有被触及,它也会被多次调用。这导致了一个非常无响应的列表和地图(当我的WaypointOverlay
班级只是从这些onDraw
调用中返回时,一切都运行良好)
我怎样才能让onDraw
电话发生的频率降低 - 理想情况下只有当MapView
更改跨越时?我尝试在onDraw
中检查MapView
lat/lon 跨度是否与上次onDraw
调用时相同,并且仅在两者不同时才绘制。这导致OverlayItems
仅在地图平移或缩放时出现。
关于提高性能的任何想法?
android - Android 中的 ConcurrentModificationException
首先,我很抱歉再次提出这个问题,但我还没有找到解决我的问题的方法。
我有一个应用程序,我可以在其中使用 MyLocationOverlay 定位自己,并使用 itemizedOverlay 绘制朋友的位置。但是该应用程序因 ConcurrentModificationExcepion 而崩溃
对于我的位置,我使用 MyLocationOverlay 和这个单一的代码(以前初始化):
对于我朋友的位置,我使用了 ItemizedOverlay 和绘制位置的方法。ItemizedOverlay 这是:
这是绘制位置的方法:
使用两个不同的mapViews(mapView和mapView2),否则draw方法会在执行时擦除myLocationOverlay点mapView2.postInvalidate();
正如我所说,我获得了 ConcurrentModificationException。我找到了一些解决方案,但我不知道如何应用......这对我来说非常重要,因为它是我职业生涯的结束。太感谢了!
android - GoogleMaps:自定义 ItemizedOverlay 和 OverlayItem,显示不同标记的正确方法
我一直在寻找关于扩展 ItemizedOverlay 和 OverlayItem 的正确方法的明确信息,但我得到的结果还不能让我满意。简而言之,我需要在地图上显示与多个位置相关的不同类型的标记;要显示的标记类型由位置本身的特定属性决定。当标记被选中时,我还需要显示某个标记,当标记未选中或未聚焦时,我还需要显示另一个标记。据我了解,这是我写的:
MyItemizedOverlay 由主 MapActivity 中的 MyOverlayItem 创建和填充。现在:正确放置的唯一标记是默认标记。也就是说,传递给 MyItemizedOverlay 的构造函数的那些具有可绘制性,并使用 boundCenterBottom 设置(将图像的中间底部点设置为指向地图中的指定点)。当 MyOverlayItem 类中的 getMarker 方法不返回 null,并且使用了另一个标记时,图像显示错误(例如,阴影不跟随图像!)。在getMarker方法中,你必须为drawable定义一个边界框(用drawable.setBounds);但是我认为,通过这种方式,您没有指定必须放置在地图点中的点。
因此,问题是:对于从 OverlayItem 对象的 getMarker 方法返回到 ItemizedOverlay 的标记可绘制对象,如何指定用于放置在地图中的边界(与默认可绘制对象的 MyItemizedOverlay 中的 boundCenterBottom 一样)? 最好的方法是什么?
;)
android - Android MapView ItemizedOverlay 绘制 onTap
我正在尝试在 ItemizedOverlay 的 Draw 方法中绘制自定义形状。是否可以为绘制的形状获取 onTap 事件。目前 onTap 适用于默认的可绘制/标记。如何使它适用于在 Draw 方法中绘制的形状?
android - 使用 onTap() 时出现问题
在我的应用程序中,要求是当我触摸地图中的任何位置时,我必须创建一个新的叠加层并用标记显示它,如果我点击任何标记的位置,我必须在气球中显示其详细信息。
我的 ItemizedOverlay 类中编写的 onTap() 和 onTouchEvent() 如下:
MyOverlayItem里面的onTap()如下:
我的问题是:
如果我添加此 onTouchEvent(),则不会调用 onTap()。总是有一个新的点被添加。
我怎样才能达到我的要求?我对这两种方法都感到困惑。谁能帮帮我。提前致谢。
android - 在没有用户输入的情况下使 ItemizedOverlay onTap 动作触发以使气球在更改为屏幕活动时可见
我的项目中有一个 MapView,我在其中显示一组带有 ItemizedOverlay 的项目。
当用户点击其中一个项目时,会在其上显示一个带有一些信息的气球。
现在,我想要实现的是,当更改为地图活动屏幕时,无需用户点击屏幕即可显示气球......就像初始化一样,我在没有用户输入的情况下使气球已经可见。