当前位置: 首页 > 知识库问答 >
问题:

如何在谷歌地图api中为每条街道使用唯一标识符

常心水
2023-03-14

我的目标是在用户询问方向时,确定用户是否已经在谷歌地图方向搜索结果中给出的街道之一(即使不在完全相同的坐标中)。

事情是这样的:
当用户只是浏览街道时,应用程序会不时使用地理编码api询问谷歌用户在哪里。然后它注册它(我仍然需要知道我应该使用哪些信息)。

在未来的另一个时间,用户会询问他想去的特定地方的方向,应用程序会询问谷歌地图的替代品,然后它会决定使用哪种路径,如果用户会识别为根据一种配置,尽可能地随着他的进步或相反的方向前进。

问题是我不知道用什么作为每条街道的唯一标识符。

注意:现在我没有把大街道分成几个部分。那样应该更容易。Ofc,如果这比考虑整条街更容易,我会把街道分成几个部分。

我已经测试过,我不能使用用户所在的坐标。为了不与附近的街道重叠,并提供一个良好的精度,我无法使用坐标,即使截断。
我还检查了使用地理代码返回的地方的名称在我问路时似乎不可用。方向api没有以相同的标识符命名街道...

请帮忙。

提前感谢。

共有1个答案

万俟震博
2023-03-14

我知道你现在可能已经离开了,或者已经明白了这一点,但我会告诉你我会怎么做。

如果我想识别可能熟悉的街道,我会将街道上的街区识别为一组开始和结束坐标。你可以检查是否接近街区的尽头。

您应该能够通过对块上某个点的地址进行地理编码并将地址行字符串按空格拆分来找到块的endpoint。将第一个数字解析为一个整数,减去街道数除以100的模数,然后开始加一,结束加99。

String[] splitAddr  = address.getAddressLine(0).toString().split("\\s");        
    houseNum    = splitAddr[0];
    street      = address.getAddressLine(0).toString().substring(houseNum.length());        
    blockNum    = Integer.parseInt(houseNum);
    blockNum    = (blockNum - (blockNum % 100));
    blockstart  = blockNum + 1;
    blockEnd    = blockNum + 99
 类似资料:
  • 我对谷歌地图API完全是个新手,我想开发一款将谷歌地图上的街道作为路径的游戏。我很清楚我需要什么,但我甚至不知道从API文档中开始搜索什么。。。 如何获得城市街道或谷歌地图其他部分的图形表示,例如交叉点的顶点和边的街道名称(或任何我可以转换为类似的内容),并将顶点映射到(lat,long)协调点…甚至街道的多段线对象,以便从中提取所需内容?(路由查找算法当然可以访问这样的数据结构,所以它就在那里的

  • 我正在寻找一个解决方案来获取数据来创建一个简单的道路专用地图。 在lat/long指定的小区域内,我需要能够在给定街道坐标之间绘制自定义线的数据(起点和终点基本上足够了,并且只能从主要街道开始)。交叉点的坐标也可以连接到我的自定义线。 另一种方法是通过反向地理编码获得指定区域内的所有主要街道名称,然后以某种方式获得每条街道的坐标。 几年前有一个类似的请求:使用谷歌地图API为游戏获取街道图,我想知

  • 我如何使用https://maps.googleapis.com/maps/api/js在谷歌地图的webview中,我试图展示一张谷歌地图,就像来自waqi weather的地图一样,地图上包含关于空气污染的信息。就这样https://aqicn.org/faq/2015-09-18/map-web-service-real-time-air-quality-tile-api/

  • 如何使Android Google Maps API v2中的标记变得可点击,以便它们要么打开一个带有选项的菜单,要么开始一个新的活动?我相信我在我的应用程序中的标记目前在一个“newb”方法。我没有为它们分配一个名称或方法,以便能够将其与所需代码的其余部分链接在一起。 如果你回答这个问题,请包括一个标记被引入一个独特的名称,然后被设置为可点击打开一个新活动的示例代码。

  • 背景一般来说,我对谷歌地图/地图sdks有点陌生。我想在iOS上创建一个地区的街道“热量”地图。作为一个容易理解的例子,让我们假设它是为了绘制城市中每天看到的小狗。数据定期变化,我们需要表明某些街道比其他街道有更多的小狗流量。 问题:我如何判断用户何时输入了唯一的街道?如何获得唯一的街道ID? 相关问题:如果在谷歌地图中不可能,请链接到在OpenStreetMap或Mapbox中这样做。 我看过的

  • 我已经尝试在这里和谷歌地图API留档上查看了大量的代码块,但仍然无法找出如何隐藏标记。 这是我正在使用的当前代码,它在一个实例中有效。有一次,我在带有标记的函数中添加了“for”循环。setMap(null)Firefox显示以下错误: markers.set地图不是一个函数 附加信息:校园地图和完整代码(不包括地图API)