【问题标题】:How to get the width of a road through Google Maps API如何通过 Google Maps API 获取道路的宽度
【发布时间】:2011-06-07 03:48:56
【问题描述】:

我需要在 Google 地图中找到道路的宽度。

无法使用 Google 地球,因为它不支持 Linux。 无法使用街景,因为在我居住的地区不可用。

此链接:http://osdir.com/ml/google-maps-js-api-v3/2011-05/msg00666.html 建议通过知道两边的坐标来找到道路两端之间的距离的方法。

因此第一个问题如标题所示。

顺便说一句,我已经设法在地图上显示了两个坐标之间的“路线”。

地图的类型可以通过API设置为“卫星”视图。 这会影响将要获取的距离和坐标吗?

【问题讨论】:

    标签: google-maps google-maps-api-3


    【解决方案1】:

    由于有时返回的地理编码将是 ROOFTOP 地理编码——可能意味着建筑物的质心——而其他时候,它是 RANGE_INTERPOLATED表明它不会很精确。见http://code.google.com/apis/maps/documentation/javascript/reference.html#GeocoderLocationType。无论哪种情况,它都不会是路边。

    看看 Google 地图可能会将地址标记在多远的道路上可能会发人深省:http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&q=4+Clinton+Drive,+Englishtown,+NJ&aq=&sll=40.299985,-74.290066&sspn=0.009426,0.015213&gl=us&ie=UTF8&hq=&hnear=4+Clinton+Dr,+Englishtown,+New+Jersey+07726&t=h&z=16

    简而言之,除非您的用例可以容忍相当宽的误差线,否则我认为可以肯定地说这行不通,至少在没有大量资源可供您使用的情况下是行不通的。

    Google 地球网络插件不适用于 Linux,但如果您不需要它作为网页,那么您可以尝试使用 Google 地球应用程序。它适用于 Linux。

    如果您的用例适用于相当狭窄的地理区域,则可能在其他地方有可用的数据。但从 Google Maps API v3 获取此信息不太可能是一个很好的选择。

    (与往常一样,当我给出“我认为这不可行”的答案时,我很乐意有人来证明我错了。)

    【讨论】:

    • 我突然想到,如果应用程序是交互式的——如果你让用户在道路的每一侧放置一个标记——你可能能够获得足够的结果。同样,这取决于您的用例。
    • 您确实对 Trott 非常有帮助,一如既往。你上面的帖子非常清楚地表明它确实不可行。同时,您关于标记位置的评论确实非常有帮助。再次感谢。我今天试用 Google 地球,如果我有其他问题或新发现,我会回复。
    【解决方案2】:

    我会查看各个房屋的坐标。如果门牌号的排列使得 n+1 在 n 的另一侧,则两者之间的距离可能会告诉您有关宽度的信息。但我不认为有一个 API...

    【讨论】:

    • 您能否详细说明如何查找门牌号是否按照您所说的方式排列?我知道还有一个用于查找地址的 API。
    • 是的......这可能有点像黑客。我会尝试获取一些偶数和一些奇数门牌号码的坐标。然后尝试通过两个坐标列表分别拟合一条线a),b)通过所有坐标列表。如果门牌号码是交替的,那么这些点应该离你从 b) 中得到的线比你在 a) 中得到的线更远。正如我所说,一个黑客。将尝试进一步思考......
    • 谢谢,我会看看我们是否可以按照上面 trott 所说的那样绘制标记,如果没有,那么......
    猜你喜欢
    • 2022-10-15
    • 2017-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-25
    相关资源
    最近更新 更多