【问题标题】:Get Google Maps Navigation Instructions获取 Google 地图导航说明
【发布时间】:2016-08-11 13:50:39
【问题描述】:

我正在寻找一种从地图导航中获取说明的方法。 目前我认为唯一可能的方法是读取地图导航放置在顶部的通知数据。我相信这是唯一方法的原因来自post。 我尝试使用 OnNotificationPosted 方法获取数据,但在 StatusBarNotification 对象中找不到方向数据...

是否有人对如何实现这一目标有解决方案或更好的想法

【问题讨论】:

  • 可能重复:stackoverflow.com/questions/14495030/…。另外,这是一个演示应用程序:github.com/akexorcist/Android-GoogleDirectionLibrary
  • 不幸的是,这不是我要找的。我可以从谷歌获得方向对象等,但我正在寻找一种方法来获得基于地理位置的实时转弯方向。
  • 我也在寻找同样的东西几天。但我不认为这些信息是可访问的。
  • 我注意到可以阅读放置在屏幕顶部的通知。但是谷歌地图将它从“Go Left”之类的文本更改为显示转弯的图标,我无法获得图标 src。希望图标源类似于“sharp_left_notificationicon.png”,但无法获得其价值。我是一个 android 初学者,所以也许你有更多的运气来获得价值,如果是这样,请告诉我。如果我有什么新的病,请在这里发布
  • 我也遇到了同样的问题,你找到解决办法了吗? @ArthurVanSchravendijk

标签: android google-maps notifications navigation android-notifications


【解决方案1】:

您可以实现NotificationListenerService 以检索谷歌地图路线方向的内容。不幸的是,地图没有使用 StatusBarNotification 中的公共属性。但是地图使用RemoteViews 来显示内容。 您可以通过广播将此数据发送到活动,并最终将内容添加到现有视图:

RemoteViews remoteView = intent.getParcelableExtra(id);
if (remoteView != null) {
    ViewGroup frame = (ViewGroup) findViewById(R.id.layout_navi);
    frame.removeAllViews();
    View newView = remoteView.apply(getApplicationContext(), frame);
    newView.setBackgroundColor(Color.TRANSPARENT);
    frame.addView(newView);
}

【讨论】:

  • 感谢您的解决方案!我对此有一个问题,使用您的解决方案,我可以创建一个框架以在其他地方显示解决方案,对吗?或者我也可以看看谷歌地图是说左还是右?因为我想在代码中使用这些指令。
  • 不行,你也可以遍历newViewViewGroup得到它的children的内容:View viewImage = ((ViewGroup) newView).getChildAt(0);里面的文字是:View outerLayout = ((ViewGroup) newView).getChildAt(1);然后遍历outerLayout得到文本内容。
  • @droiddude 你能更详细地解释你的解决方案吗...这个解决方案究竟如何显示谷歌地图通知显示的方向或说明
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-08
  • 1970-01-01
  • 2019-12-04
相关资源
最近更新 更多