谷歌地图集群与方向

Dha*_*mar 11 android google-maps

我们有一个Google地图库来显示群集中的多个标记.

我有两个问题:

1.我们可以在Google地图上显示多个方向,如下图所示吗?

2.我们可以在聚类标记中显示多个方向细节吗?

在此输入图像描述

集群如下:

我将举例说明:来自印度国家我已经在我的数据库中保存了不同的方向.

喜欢

艾哈迈达巴德到德里

德里到阿格拉

艾哈迈达巴德要轰炸

杰伊普尔到德里

我必须显示上述方向的集群取决于缩放级别,当用户缩放谷歌地图时,而不是群集,谷歌地图上会显示多个方向.

我想知道它是否可能?如果是,那怎么样?

Abh*_*jee -1

我不知道我是否正确理解了你的问题,但无论如何我会尽力回答。您可以创建多条折线并从google 地图方向 API 的JSON 响应添加到地图。这样您就可以在单个地图中添加多条路线。

据我理解第二个问题,您希望集群标记提供您正在绘制的路线的详细信息。为此,我想您可以对 API 返回的点进行聚类并使用自定义标记聚类来显示您想要的信息。

希望能帮助到你

-编辑-如果你想在Android应用程序中绘制路线,你不会得到任何可以使用的DirectionRenderer。您需要使用折线渲染路线。这就是为什么我在上面的答案中提到创建折线。作为对 Direction 请求的响应,您将获得一个包含多个坐标点的 JSON,可以通过在它们之间绘制折线来将这些坐标点连接起来。您可以在地图上拥有多条此类折线(从任意点到任意点)。情况 1:您想要 2 条从孟买到果阿的路线,请将 Alternatives 参数设置为 true。情况 2:您想要两条不同的路线,班加罗尔到孟买,果阿到德里,向 API 发出两个不同的请求。您将获得两条不同的路线并将它们绘制在地图上。

对于第二个问题,由于没有内置的路线聚类(折线),因此您必须对地图中显示的聚类图标的逻辑进行编码。要获取当前缩放级别,请使用以下命令。

GoogleMap map;    
float zoom = map.getCameraPosition().zoom;
Run Code Online (Sandbox Code Playgroud)

用于显示和隐藏折线

Polyline line = map.addPolyline(new PolylineOptions()
 .add(new LatLng(51.5, -0.1), new LatLng(40.7, -74.0))

 // multiple points that you get from the response of directions API

 .width(5)
 .color(Color.RED));

//your logic for visibility
if(zoom<=5){
  line.setVisible(true);
}
Run Code Online (Sandbox Code Playgroud)

我在 API 中找不到任何使用代码隐藏集群图标的方法。我想它应该在一定的缩放级别后隐藏自己。