Android – 如何在Android应用中使用特定的位置,缩放级别和标记来启动Google地图

地图意图不使用特定缩放级别以及自定义标记

float lat = 40.714728f; float lng = -73.998672f; String maplLabel = "ABC Label"; final Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse("geo:0,0?q="+lat+","+lng+"&z=16 (" + maplLabel + ")")); startActivity(intent); 

有人知道什么是错的? 或者如何做? 我想在特定的缩放级别上显示特定(lat,lng)的地图与自定义标签标记。

  • 短信接收机的“真实”testing
  • 什么是createChooser,当我必须使用Intents? 我能用这种方法做什么?
  • 我怎样才能将事件自动添加到日历?
  • Android Intent Parcelable中的Unmarshalling类未find
  • 将意向从adb发送到BroadcastReceiver
  • 在Android中selectvideo的最佳方式是什么?
  • Android N:如何在分屏时单击通知时在当前活动窗口而不是第二个窗口中启动活动?
  • BroadcastReceiver ACTION_MEDIA_BUTTON无法正常工作
  • 尝试以下解决scheme:

     double latitude = 40.714728; double longitude = -73.998672; String label = "ABC Label"; String uriBegin = "geo:" + latitude + "," + longitude; String query = latitude + "," + longitude + "(" + label + ")"; String encodedQuery = Uri.encode(query); String uriString = uriBegin + "?q=" + encodedQuery + "&z=16"; Uri uri = Uri.parse(uriString); Intent intent = new Intent(android.content.Intent.ACTION_VIEW, uri); startActivity(intent); 

    信贷在这里: 答案

    我相信这个问题与你的标签中的空间有关。 编码查询string将通过用有效字符replace空格来消除此问题

    在地图应用中显示位置:

     Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); String data = String.format("geo:%s,%s", latitude, longitude); if (zoomLevel != null) { data = String.format("%s?z=%s", data, zoomLevel); } intent.setData(Uri.parse(data)); startActivity(intent); 
     Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse("http://maps.google.com/maps?daddr=" + location.getLatitude() + "," + location.getLongitude())); startActivity(intent);