问题标签 [osmdroid]

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.

0 投票
1 回答
2355 浏览

android - OSMDroid 和 OpenStreetMapViewItemizedOverlay

我在我的应用程序 OSMDroid 中使用。一切都很好,但并非一切都清楚。

将使用 OpenStreetMapViewItemizedOverlay 或 (OpenStreetMapViewItemizedOverlayWithFocus)。

如果用户单击此叠加层中的项目,则会出现一个带有项目标题和描述的小弹出窗口。

有谁知道,如果用户点击该弹出窗口,如何实现点击侦听器?

我还没有找到任何方法,我会非常感谢任何建议或链接。

0 投票
4 回答
5560 浏览

android - 限制用户在 Mapview 上可以去的区域

我正在使用自定义版本的地图视图(OSMDroid 版本)。我在其中使用自定义图块,我只希望用户能够查看我拥有自定义图块的区域。有没有办法设置边界纬度,所以当他们平移地图时它不会越过这些边界?

0 投票
1 回答
3501 浏览

android - osmdroid-android-3.0.3.jar 中的叠加层

在我的问题的答案的大力帮助下,我之前设法使用 osmdroid-android-3.0.1.jar 将 OpenStreetMaps 合并到我的应用程序中

将 Google Maps 应用程序移植到 Osmdroid - 覆盖问题

我现在已经升级到使用 3.0.3 jar 并且无法显示我的叠加层。

我的应用程序可以将显示从 Google Maps 切换到 OSM,并在两者之上显示由线条和文本组成的相同叠加层。替代方案现在显示每个在自己的活动中运行,因为这些类相似但没有完全相同的方法,或者至少它们在 3.0.1 中没有。(最终我想使用 Osmdroid 包装 jar 将它们组合在一个活动中并减少重复代码,但这是以后的问题)现在我想获得与现在相同的功能使用新的 3.0.3 版本弃用了 3.0.1 jar。

使用新罐子,我仍然可以正常显示地图视图,但覆盖层已经消失。我不得不对代码进行一些更改,因为MapOverlay 扩展 org.osmdroid.views.overlay.Overlay类中的 3.0.1 onDraw() 方法现在已替换为 draw()(就像 Google 一样)。

之前的 onDraw()(现在是 draw)方法中的所有代码都从上面提到的问题的答案中逐字复制,它工作得很好,尽管我承认没有完全理解 worldsize、边界框和所描述的转换的概念.

我注意到该方法

现在已弃用,我不得不删除 tileZoom 和

让它编译。

当我看到 draw() 方法中的代码时,我可以在调试器中看到绘制覆盖所需的所有数据仍然存在且正确。绘制是通过canvas.drawLine(....)和canvas.drawText(....)等线条完成的。我根本没有使用函数的额外参数(布尔阴影)。

我的 redrawOverlay() 方法仍然是:

(Google listofOverlays.clear() 不应使用,因为 osmdroid 3.0.1 将元素 0 作为地图本身 - 因此 remove(1))

我想知道如何修改现有的 3.0.1 代码以使用 3.0.3?我希望其中一位作者可能会阅读这个问题。

更新

通过按照上述问题的答案中的建议过度调整 Minimap,用于从左上角到右下角绘制叠加层的 draw() 方法现在变为:

这工作正常

0 投票
1 回答
3404 浏览

android - 帮助设置 OSMdroid 库以显示 OpenSourceMaps

嘿。我在设置 OSMdroid 库以显示 OpenSourceMaps 时遇到问题。我正在开展一项活动,该活动将允许用户使用按钮查看他们当前位置的地图,以允许用户在普通谷歌地图视图、地形谷歌地图视图和 opentreetmaps 视图之间切换。我目前正在使用 JAR 文件并将其添加到我的项目的构建路径中。它编译得很好,但是我不明白如何使用这个库。网上的教程/指导很少。我是否需要在布局中创建一个 IMapView 标记并像 Google 地图视图一样使用它?如何从普通的谷歌地图视图切换布局图块?

如果有人能给我一个关于这个库是如何工作的非常简短的演练,那将不胜感激。我已经用 JAVA 编码很多年了,所以我只需要一个英文描述我需要做什么。

提前致谢。

0 投票
2 回答
1402 浏览

android - Osmdroid Overlays 崩溃应用程序 (Android)

每当我调用 initMyLocation 时,应用程序就会崩溃(模拟器和设备上的机器人)。当我尝试实现 MiniMap 时也会发生同样的情况。我所做的与 Osmdroid 存储库中的 SampleExtensive 示例完全相同。我究竟做错了什么?

我认为我的 AndroidManifest.xml 提供了所有必需的权限

0 投票
3 回答
29779 浏览

android - 将叠加层添加到 OSMDROID

我一直在为此苦苦挣扎。我正在尝试在我的地图上添加叠加层。我正在使用开源 OSMdroid。但我从这个例子中得到的只是从一个角落到另一个角落的直线红线。我的目标是在我的 geoPoint 设置位置添加一些图标。

这是我的代码:

那是我的清单:

提前致谢,

射线。

0 投票
1 回答
9318 浏览

android - OverlayItem 不更新位置更改 (OSM)

我正在使用 OSMdroid。

多亏了这篇向 OSMDROID 添加覆盖以在特定位置创建覆盖静态项目的帖子,我已经成功了。

现在我正在尝试使地图更具动态性。因此,当位置更改时,OverLayItem(在地图上标记特定位置)也会自行更新。

这就是我试图做的。地图会更新,但 OverLayItem 不会。

代码:

谢谢,

射线。

0 投票
2 回答
5199 浏览

android - Android OSM droid - 设置最大缩放级别

我正在使用 osmdroid mapView 实现应用程序。我们有最大 16 个缩放级别的地图,但 Android 允许我们有 18 个缩放级别。你知道如何设置最大缩放级别 16 而不是默认的 18 吗?

谢谢

赫米扎克

0 投票
1 回答
1544 浏览

android - 在也响应 onTouchEvent 的视图中处理 onTouchEvent(用于在 OSMdroid 3.0.2 中工作)

我目前正在使用 osmdroid jar 3.0.1,并且我在“可拖动空间”内有一个 MapView(您可以在屏幕之间滑动的视图)。我在底部有一个栏,允许用户在空间之间滑动,如果触摸事件发生在该区域之外,我调用 mapView.onTouchEvent(event)。

这曾经在 3.0.1 中运行良好,但我在 osmdroid 3.0.4 中尝试过,它似乎只适用于垂直移动(我怀疑这与某些触摸倾斜设置有关)。

这是我的可拖动空间视图中的代码。

虽然这很糟糕(视图必须传递一个地图实例),但它在 3.0.1 和 3.0.2 版本中确实可以正常工作。但是,从 3.0.3 开始,它不再起作用。

现在有没有更好的方法将触摸事件传递给 osmdroid 地图?

我有一个演示项目来说明这个问题。完整的 Eclipse 项目在 github 上

您可以更改构建路径以使用 3.0.1 或 3.0.2 jar,地图在更大的空间内正确滚动,但更改为 3.0.3 或 3.0.4 并且任何横向移动都会被忽略。

任何指导将不胜感激。

PS,这是来自 OSMdroid 列表的交叉帖子。我希望这里有更多的读者。

0 投票
0 回答
926 浏览

android - osmdroid 布局充气机异常

我试图在我的应用程序中用 osmdroid 替换谷歌地图,所以在其他小的代码更改中,我更改了我替换的 main.xml:

和:

现在我得到一个运行时异常:

谁能告诉我我做错了什么?