gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 10:50:08 25 4
gpt4 key购买 nike

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

目标是展示(例如 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/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com