问题标签 [supportmapfragment]

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 投票
3 回答
34626 浏览

android - Google Maps Android API v2 检测长按地图并添加标记不起作用

我想用长按在地图上添加一个标记。

ToastinonMapClick()是通过正常点击显示的。但是长按不起作用。长按不显示Toastin 。onMapLongClick()地图上也不会显示标记。

我正在使用SupportMapFragment,因为我想在 Android 2.x 设备上使用我的应用程序。我已经在 Android 版本 2.3.7 的 Nexus One 上测试了我的应用程序。

这是我的代码。

我该如何解决这个问题?

0 投票
1 回答
1266 浏览

android - 从 SupportMapFragment 中删除按钮覆盖

我有一个非常简单的 SupportMapFragment 来显示我在此视图中使用的小型 Google 地图 在此处输入图像描述

这个想法是用户可以单击它来查看全屏地图。如何摆脱地图上的 +/- 按钮?如果不可能,是否有另一种获取地图的方法?

这是我的 MapFragment 代码:

这是将 mapFragment 添加到视图的 DialogFragment 的代码:

0 投票
3 回答
3300 浏览

android - 如何从 Google Map V2 获取快照

我想知道如何从 SupportMapFragment 获取快照。我不知道。请帮忙。

感谢您的提前。

0 投票
1 回答
1105 浏览

google-maps - 如何有效地将 Google Maps API V2(带有 MapFragment、Google Map、Marker 等)用于使用 API V1(带有 MapView、GeoPoint 等)的旧应用程序,

我在一个基于谷歌地图的项目上工作了超过 6 个月。我使用的是 Google Maps API V1 及其开发人员 API 密钥。当我尝试发布应用程序时,我了解到 Google API V1 已被弃用!当我阅读 Google Maps API V2 时,我发现 MapView、GeoPoint、OverlayItem 通常被替换为 fragment、Marker、MapFragment、Google Map 等。

我的原始 XML 看起来像这样

现在谷歌不提供这个键,我需要添加一个地图,并在上面显示我的叠加项目。我对这个新 API 并不感到困惑。

我的 Java 文件看起来一模一样

我想知道是否有任何方法可以使用我的旧代码来支持 Google Maps API V2?

0 投票
1 回答
582 浏览

android - 同步 ListFragment 和 SupportMapFragment 选择

我对基本相同的数据有 2 个视图:

  1. android.support.v4.app 中的项目列表列表片段
  2. com.google.android.gms.maps 中地图上的标记。支持MapFragment

以上两种都是使用加载器模式来获取相同的数据(扩展LoaderCallbacks,查询ContentProvider等)

两者都托管在ViewPager内的单个活动中。

为这两个片段同步当前选定的列表项/标记的最佳策略是什么?(想想“我的地点”编辑 UI,或谷歌地图的“路线”,左侧窗格和中间的地图)。

到目前为止我正在考虑的场景:

  1. 使每个片段通过回调接口手动通知其对应的选择更改(这可能涉及协调片段间通信的底层活动,正如 Android 文档所建议的那样)。
  2. 不知何故,让两个片段使用相同的光标,甚至是 ListAdapter(无论它对地图意味着什么,因为现在它直接从光标填充)。
  3. (还有什么?)

也许有人已经处理过这个确切的案例?(我肯定会找到一些解决方案,只是想避免“重新发明轮子”。抱歉,这个问题太概念化了。)

编辑(解决方案)

我认为 Maciej 已经回答了我的确切问题(“最佳策略”等..),所以答案是12 ;-)

进入更多细节,我的实现是这样的:

起初,我害怕在 Java 中处理发布者/订阅者模式的巨大开销(涉及接口,为回调寻找合适的位置,以及不存在的地方)。幸运的是,Otto总线的实现引起了我的注意,这使得片段之间的通信变得微不足道。不仅可以通知所有订阅者有关选择更改的信息,而且整个加载器模式也非常适合:

  1. 从 Otto 的示例代码中借用 BusProvider 类。

  2. 创建一些消息合约来携带通知数据:

    /li>
  3. 使用 @Subscribe 在片段中注释“接收者”方法(下面的示例是针对加载程序的情况,对于选择更改,它不再复杂):

    /li>
  4. 让片段“监听”通知:

    /li>
  5. 当片段不“活着”时,让片段停止收听(特别是片段 API,很难学会):

    /li>
  6. 最后,在需要的地方触发通知(下面的示例演示了如何在加载光标时从LocationList活动中通知):

    /li>

奖励:通知流可视化

0 投票
2 回答
5215 浏览

android - Android 上的“Google Play 服务的未知问题”

我正在尝试将我的 Android 应用程序(需要从版本 7 开始的 SDK 支持)更新到新的 Google Maps Android API v2。

我目前尝试使用Google 的文档和许多类似教程。

但是,当我导航到地图视图时,我得到一个空白屏幕,并显示以下消息:“Google Play 服务的未知问题”,LogCat 中没有明确的错误或警告消息。

我尝试过的事情

  • 我的设备装有最新版本的 Google Play
  • 我正在使用 SupportMapFragment 而不是 MapFragment
  • 所有必需的权限都在清单中
  • 地图 API 库已添加到项目中
  • Eclipse 和 SDK 是最新的
  • 当我使用与 Google API 控制台上的 Google Maps Android API 密钥链接的密钥库导出我的应用程序时,该消息仍然显示。

我的目标是在我使用 TabHost 的 FragmentActivity 的选项卡窗口中显示地图视图,但教程代码仍然存在此问题。

以下是使用 SupportMapFragment 运行活动时的日志信息:

有件事告诉我这很重要。;) 我期待任何想法或建议。谢谢你们!

0 投票
2 回答
3496 浏览

android - Google Maps API Android 在 MapFragment 中显示地址地图

我有一个 SupportMapFragment

我想为特定地址加载地图。上面的代码,我在https://developers.google.com/maps/documentation/android/map得到的。我还看到这篇文章Google maps API in Android讨论了开始一项活动。我不想这样做,但将其加载到片段中。我该怎么做呢?Google Map ( http://developer.android.com/reference/com/google/android/gms/maps/GoogleMap.html ) 的 API 也没有任何合适的方法来加载具有特定地址的地图。

0 投票
1 回答
121 浏览

android - 加载基于Android平台的Google Maps Android API版本

我有一个运行 Google Maps API v2 的 Android 应用程序。通过使用 SupportMapFragment,我支持运行 Android 的设备可以追溯到 API 8。我知道 Google Maps API v1 已被弃用,并且很少有设备运行 Android API 7 或更低版本,但有没有一种简单的方法来定义我的布局,以便设备更低比 API 8,Google Maps API v1 会被加载吗?

0 投票
1 回答
1006 浏览

android - 如何清除 SupportMapFragment 正在绘制的 glSurfaceView?

问题:

有没有办法在进行后续 glDraw() 调用之前手动清除 SupportMapFragment 绘制的 OpenGL 缓冲区?

原因:

我有一个 ActivityGroup 包含两个不同的嵌入式活动(在给定时间只能在屏幕上显示其中一个)。这是它的布局代码片段。

我的 ActivityGroup 中的两个活动的视图都包含一个 SupportMapFragment。ActivityGroup 中的第一个活动(具有较小的 SupportMapFragment)首先显示,其视图成为 FrameLayout 的子项,ID 为 map_area_one。

当用户按下按钮时,我在 ActivityGroup 中启动第二个活动(使用较大的 SupportMapFragment),它的视图变成了 ID 为 map_area_one 的 FrameLayout 的子项。然后我隐藏第一个活动的视图。

我遇到的问题是,即使第一个活动的视图不再可见,我仍然可以看到第一个活动的较小 SupportMapFragment(即使我无法与之交互)。我在下面附上了图片。

我得出的结论是,这是因为两个 SupportMapFragments 都使用相同的 OpenGL SurfaceView 绘制地图。我很确定由于某种原因,当我隐藏第一个活动时,SupportMapFragment 正在绘制的 openGL 缓冲区没有被清除。我这么说的原因有两个:

  1. 如果我将应用程序置于后台并将其带回前台,则较小的 SupportMapFragment 将不再可见。
  2. 如果我将较大的 SupportMapFragment 更改为使用 GoogleMaps Android v1 的 MapView,则不存在此问题。这是因为 GoogleMaps Android v1 没有使用 OpenGL。

图片

用户切换到第二个活动后的屏幕截图。请注意,第一个活动的 SupportMapFragment(它是朝向底部的较小的地图条)仍然可见。



在我后台应用程序并将其带回前台后立即截屏。第一个活动的 SupportMapFragment 不再可见(应该是这样)。我假设是因为当应用程序再次被带到前台时,第二个活动称为 glClear()。

任何帮助或建议将不胜感激。谢谢。

0 投票
2 回答
5362 浏览

android - DialogFragment 上的 SupportMapFragment

我需要将 a 嵌入SupportMapFragmentDialog. 这是我能想到的最好的:

但是,当我这样称呼时:

我明白了:

在此处输入图像描述

我该怎么做才能在 Dialog 上查看地图?

该应用程序还有另一个SupportMapFragment正在创造奇迹的应用程序,因此它与配置没有任何关系。