Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google maps 指定一个位置需要多少个字符?_Google Maps_Geocoding - Fatal编程技术网

Google maps 指定一个位置需要多少个字符?

Google maps 指定一个位置需要多少个字符?,google-maps,geocoding,Google Maps,Geocoding,您好,我一直在玩,在文档中,它指出: 在URL编码之前,API URL的方向限制为2048个字符。由于某些方向服务URL可能涉及路径上的多个位置,因此在构建URL时请注意此限制 我知道,如果我们超过2048个字符,谷歌将给我们一个414错误。但是我想知道什么是处理和通知用户他的请求太长的最好方法?我不认为告诉用户“减少位置文本框中的字符数”对用户来说太友好了 在我的应用程序中,我只允许用户指定开始位置、结束位置和最多4个航路点。大多数其他信息不是由用户提供的。除去其他参数的开销,我可以允许用户为

您好,我一直在玩,在文档中,它指出:

在URL编码之前,API URL的方向限制为2048个字符。由于某些方向服务URL可能涉及路径上的多个位置,因此在构建URL时请注意此限制

我知道,如果我们超过2048个字符,谷歌将给我们一个414错误。但是我想知道什么是处理和通知用户他的请求太长的最好方法?我不认为告诉用户“减少位置文本框中的字符数”对用户来说太友好了

在我的应用程序中,我只允许用户指定开始位置、结束位置和最多4个航路点。大多数其他信息不是由用户提供的。除去其他参数的开销,我可以允许用户为其起始位置、结束位置和4个航路点输入总共1800个字符

我在想,将每个位置限制在300(1800÷6)个字符是否安全,这样用户就永远没有机会指定超过2048个字符的请求了


重新表述问题,假设地球上每个可能位置的名称(我不需要支持地球以外的位置)在300个字符以内是否合乎逻辑?如果不是300,什么是安全数字?

这并不能直接回答您的问题,但我建议您针对url长度限制采取以下措施:


如果6个位置的长度大于1800个字符,则首先对较长的位置进行地理编码。如果您发送的是地理编码而不是位置文本,则应符合限制。这样做的一个副作用是,地理代码将位于方向文本中,而不是位置文本中。您可以通过修改API返回的文本并将原始文本放回来修复此问题。API为您提供了一种实现这一点的方法。这是一种痛苦,但这是一种绕过限制的方法。

当你说“先对较长的位置进行地理编码”时,你的意思是发送额外的web请求来实现这一点吗?是的,我就是这么说的。不是最有效率的,但不应该太慢,超过你的限制。