链接到带有完整地址的Google地图路线作为目的地参数会丢弃目的地

时间:2019-07-17 21:00:41

标签: google-maps google-direction

我正在生成一个URL,该URL应将用户从电子邮件链接到google路线,再从其当前位置链接到目的地。我正在关注https://developers.google.com/maps/documentation/urls/guide#directions-action此处的google文档,但遇到的问题因客户而异。

我们注意到,在Android手机上,目的地未填写。当我添加?saddr=Current+Location时,目的地已填写,但是除了英语以外的其他语言,它并不总是有效(即使使用正确的翻译)。我格式化该目的地的方式有问题吗?是否有正确的跨客户端方法来生成从用户当前位置到目的地的链接? 谢谢!

我已经阅读了所有有关堆栈溢出的现有讨论,并通过了本文http://gearside.com/easily-link-to-locations-and-directions-using-the-new-google-maps/中提到的saddr=Current+location来尝试解决方案。我认为,即使正确翻译了“当前位置”,这也只能在美国手机上使用。

       params = {}
       destination = [
                self.street,
                self.city,
                self.province,
                self.postal_code,
                self.country,
       ]

        destination = ','.join(d for d in destination if d)
        params['destination'] = destination
        params = {k:v.encode('utf-8') for (k,v) in params.iteritems()}

        url = "https://maps.google.com/maps/dir/?api=1&%s" % urlencode(params)
        return url

这将创建网址https://maps.google.com/maps/dir/?api=1&destination=24+Ocean+St%2CSanta+Cruz%2CCA%2C95060%2CUS

我希望该网址可以打开地图应用或Google地图网页,并提供从用户当前位置到目的地的路线。取而代之的是,我得到了一张当前位置为焦点的地图,没有填写目的地。

更新:我使用了错误的子域(maps.google.com而不是www.google.com)。使用www实际上可以解决该问题。

0 个答案:

没有答案