java - 根据 Google Maps API 的缩放级别显示商店

标签 java android google-maps

我正在尝试创建以下算法,但我不确定如何开始,因此这里没有任何代码:

目标是展示(例如 Google map 上的 30 家商店)。我目前正在应用程序中使用 Google Maps API。

算法:
根据缩放级别检索 30 个不同的商店。

示例 1:如果缩放为 10 (City Zoom)以该特定缩放比例显示 30 家不同的商店。这些商店将覆盖 map 上不同的纬度和经度。 (理想情况下,根据用户当前在 map 中看到的内容覆盖北、南、东和西)。

示例 2:如果用户缩放到 15 级,(Street Zoom)它还会以该特定缩放比例显示这 30 家商店。如果不是 30 家商店,则会显示(< 30)。

任何帮助将不胜感激。如果需要更多说明,请发表评论,我将对帖子进行修改。

最佳答案

  1. 在显示商店之前,您需要隐藏“标准”标记,例如 this Jozef的回答:

You can do it simply by modification of the map style: Adding a Styled Map

  1. Create JSON file src\main\res\raw\map_style.json like this:

[
  {
    featureType: "poi",
    elementType: "labels",
    stylers: [
      {
        visibility: "off"
      }
    ]
  }
]
  1. Add map style to your GoogleMap

googleMap.setMapStyle(MapStyleOptions.loadRawResourceStyle(getContext(), R.raw.map_style));
  • 您可以使用Place Search来自Google Places API并通过附近的 URL 请求获取兴趣点列表:

    https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=<LAT_LNG>&types=point_of_interest&radius=<RADIUS_IN_METERS>&sensor=false&key=<YOUR_APP_KEY>

  • 解析它。

    注意!附近的 URL 请求仅返回 20 个位置,要加载更多数据,您应该使用 next_page_token 中的字符串值响应标签并通过 pagetoken 传递下一个请求的参数:

    https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=<LAT_LNG>&types=point_of_interest&radius=<RADIUS_IN_METERS>&sensor=false&key=<YOUR_APP_KEY>&pagetoken=<TOKEN_FOR_NEXT_PAGE_FROM_next_page_token_TAG_OF_RESPONSE>
    
  • 您可以通过 rating 从列表中选择 30 家商店或其他字段或按其他自定义标准。看来,如果用户将缩放从 10 更改为 15,则缩放 10 处显示的所有商店仍应可见。
  • 关于java - 根据 Google Maps API 的缩放级别显示商店,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52240088/

    相关文章:

    java - 缓冲读取器 "Unknown Source"

    java - 数字图像处理中是否有任何标准算法将输入 RGB 图像划分为所需大小的子图像(示例 8x8)

    java - 从对话框中选择项目后如何告诉应用程序做什么?

    android - 什么是旋转矩阵?

    android - BottomSheet - 为什么 FAB 按钮在 View 上?当我再次关注 map 时如何隐藏 BottoSheet?

    java - googleMap 上的 addmarker 和 markeroptions 的空指针异常

    Java - 扩展一个类并重用这些方法?

    java - 有没有类似 Spring TestExecutionListener for TestSuite 的东西?

    java - ConcurrentModificationException 房间 Android

    javascript - 来自 QWebPage 的 QImage 未完全呈现