我应该在 Google 地图 URL 中使用哪些参数才能转到经纬度?
Posted
技术标签:
【中文标题】我应该在 Google 地图 URL 中使用哪些参数才能转到经纬度?【英文标题】:What parameters should I use in a Google Maps URL to go to a lat-lon? 【发布时间】:2011-02-09 06:03:53 【问题描述】:我想为谷歌地图生成一个指向特定纬度和经度的网址。现在,我生成一个这样的 url:
http://maps.google.com/maps?z=11&t=k&q=58 41.881N 152 31.324W
生成的地图带有一个圆形“A”气球指针,似乎指向最近的命名对象,以及一个绿色箭头,指向经纬度。有时,如本例所示,“A”指针居中且距离足够远,以至于您看不到指向 lat-lon 的指针。 (在此示例中,缩小以查看两个指针。“A”指针位于阿拉斯加的中心,而经纬度指针位于科迪亚克岛。)
我可以在 Google 地图 URL 中使用一些参数来生成指向指定纬度的单个指针吗? (这会在单独的窗口中加载。它没有嵌入。)
【问题讨论】:
【参考方案1】:这是当前公认的链接到特定纬度的方式(而不是搜索最近的对象)。
http://maps.google.com/maps?z=12&t=m&q=loc:38.9419+-78.3020
z
是缩放级别 (1-20)
t
是地图类型(“m”地图、“k”卫星、“h”混合、“p”地形、“e”GoogleEarth)
q
是搜索查询,如果它以 loc:
为前缀,则 google 假定它是由 +
分隔的纬度
【讨论】:
谢谢! 'loc:' 对我来说是关键,因为只有一个 lat long 会在 lat/long 上放置一个绿色大头针,然后在最近的搜索结果中放置一个红色大头针。 仅供参考,最近对谷歌地图的更改意味着loc
参数似乎不再像以前那样工作。您需要添加一个 @
符号 - 请参见此处:***.com/questions/22939725/…
t=k
通往卫星/当前地球的道路!
如何使您的 url 缩放参数起作用:***.com/questions/32806084/…
是否可以向应用添加多个标记?如果它有效,结构是什么样的?【参考方案2】:
是的,我有同样的问题很长时间了,我找到了一个完美的问题。这是其中的一些参数。
https://maps.google.com?parameter = value
q=
用于指定谷歌地图搜索中的搜索查询。 例如:
https://maps.google.com?q=newyork or
https://maps.google.com?q=51.03841,-114.01679
近=
用于指定替代q=
的位置。还具有允许您通过更精确来增加 AddressDetails Accuracy 值的附加效果。仅当查询是企业等时才有用。
z=
缩放级别。正常可以设置为 19,但在某些情况下可以设置为 23。
ll=
地图中心点的经纬度。必须按这个顺序。 需要十进制格式。有趣的是,你可以在没有 q 的情况下使用它,在 在这种情况下它不显示标记。
sll=
与 ll 类似,只是它设置了商业搜索中心点的纬度/经度。需要与 ll 相同的输入条件。
t=
设置显示的地图类型。可以设置为:
m – normal map,
k – satellite,
h – hybrid,
p – terrain
saddr=
设置路线搜索的起点。您还可以在方括号中添加文本,以在方向侧边栏中将其加粗。
daddr=
设置路线搜索的终点,并再次将添加在括号中的任何文本加粗。您还可以添加“+to:”,它将通过点设置。这些可以多次添加。
通过=
允许您通过点插入方向。必须为 CSV 格式。例如,via=1,5 地址 1 和 5 将通过点在侧边栏中没有条目。起点(设置为0),2、3、4都会显示完整地址。
doflg=
更改用于测量距离的单位(默认为原产国的标准单位)。将公制更改为 ptk 或将英制更改为 ptm。
msa=
用我的地图做事。设置为 0 显示定义的“我的地图”,b 打开“我的地图”侧边栏,1 单独显示“我的地图”选项卡,或 2 转到新的“我的地图”创建者表单。
dirflg=
可以在下面设置杂项值:
h - Avoid highway
t - Avoid tolls
参考 http://moz.com/ugc/everything-you-never-wanted-to-know-about-google-maps-parameters
【讨论】:
@SameeraR。有没有办法使用这些 URL 包含“避免高速公路、收费站”等选项? 有一个参数叫dirflg。 dirflg=h(避开高速公路),dirflg=t(避开通行费)。我也会在答案中包含这个。 Docs 说@
在https://maps.google.com?q=@51.03841,-114.01679
- 应该工作。但事实并非如此。知道为什么吗?
您是否尝试在 ' 之前添加 '/'?像这样maps.google.com/?q=@37.3161,-122.1836【参考方案3】:
2017 年 5 月,Google 发布了 Google Maps URLs API,允许构建通用跨平台链接。现在您可以使用表单中的相同 URL 字符串在 web、android 或 ios 上打开 Google 地图:
https://www.google.com/maps/search/?api=1&parameters
您可以使用多种模式:搜索、方向、显示地图和显示街景。
所以你可以使用类似的东西
https://www.google.com/maps/search/?api=1&query=58.698017,-152.522067
打开地图并在一些纬度和经度上放置标记。
更多详情请参考:
https://developers.google.com/maps/documentation/urls/guide
【讨论】:
如何使用这个 api 进行缩放? 通过缩放(z:1 到 20),您可以使用:https://maps.google.com/?q=38.6531004,-90.243462&ll=38.6531004,-90.243462&z=3
【参考方案4】:
这应该有助于新的 Google 地图:
http://maps.google.com/maps/place/<name>/@<lat>,<long>,15z/data=<mode-value>
“地点”添加了一个标记。
'name' 可以是诸如“realtors”/“lawyers”之类的搜索词。
lat 和 long 是十进制格式的坐标,并按此顺序排列。
15z 将缩放级别设置为 15(介于 1 ~ 20 之间)。
您可以通过添加以下内容来强制执行特定视图模式(默认地图)- 地球或地形:
地形:/data=!5m1!1e4地球:/data=!3m1!1e3
例如:https://www.google.com/maps/place/Lawyer/@48.8187768,2.3792362,15z/data=!3m1!1e3
参考资料:https://moz.com/blog/new-google-maps-url-parameters http://dddavemaps.blogspot.in/2015/07/google-maps-url-tricks.html
【讨论】:
很高兴了解如何使地图默认为地形或混合视图。 @ThomasValadez - 我已经编辑了我的答案,突出显示了相同的内容。 有什么办法可以避开使用网址的高速公路和收费站? 另外,用于卫星地图 - /data=!3m1!1e3【参考方案5】:http://maps.google.com/maps?q=58%2041.881N%20152%2031.324W
只需使用坐标作为q
-参数。剥离 z
和 t
参数。虽然z
实际上应该只是缩放级别,但如果您设置它似乎将不起作用。
t
是地图类型。话虽如此,这些参数如何以所示方式影响结果并不明显。但他们确实如此。
也许您应该尝试ll
-参数,但只接受十进制格式。
您可以快速查看所有参数here。
【讨论】:
您的链接指向了最佳答案 - 在“q=" 之后放置“loc:”,如 maps.google.com/maps?z=11&t=k&q=loc:58 41.881N 152 31.324W 很酷的东西,不知道这个。我会创建一个自定义标记,但这似乎更容易:) 如何使用网址避开高速公路和收费站?【参考方案6】:以下内容截至 2014 年 4 月。分别用 +
和 &
分隔 URL 的每个组成部分以表示空格和加法语句。
完整的 HTML:
<iframe src="http://maps.google.com/maps?q=Scottish+Rite+Hamilton+ON&loc:43.25911+-79.879494&z=15&output=embed"></iframe>
分解:
http://maps.google.com/maps?q=
where ?q= 开始一般搜索,我使用+
提供场地、城市、省信息作为空间。
Scottish+Rite+Hamilton+ON
接下来是地理数据。经纬度。
&loc:43.25911+-79.879494
缩放级别
&z=15
iframe 需要:
&output=embed
【讨论】:
非常感谢您提供此信息。这正是我想要的! 缩放级别参数似乎没有任何区别,这个参数是否改变了?例如比较maps.google.com/…和maps.google.com/… 当我尝试同时使用 q 和 loc 时,使用 q 而忽略 loc 参数。 天哪,我到处寻找 iframe 部分,ty 兄弟 @Dave Barnett 如果你还在这个网站上,你能不能给我一个更新的版本,因为它不适合我【参考方案7】:如果您需要在您的 pin 上命名,您也可以使用:
http://maps.google.com/?q=MY%20LOCATION@lat,long
【讨论】:
不幸的是,如果我们将 lat,long 替换为地址,则 pin 名称不起作用。 :( 这不再适用于新的 Google 地图 :(【参考方案8】:自从我 5 年前提出这个问题以来,已经发生了一些变化,其中一些不兼容。目前,以下工作正常:
https://www.google.com/maps/place/58°41.881N 152°31.324W/@58.698017,-152.522067,12z/
第一个纬度/经度将用于大头针位置和标签。它可以是度-分-秒、度-分或度数。第二个纬度/经度(在“@”之后)是地图中心。它必须以度为单位,才能识别缩放 (12z)。
对于地形视图,您可以附加“data=!4m2!3m1!1s0x0:0x0!5m1!1e4”。不过,我找不到这方面的文档,因此规范可能会更改。
【讨论】:
【参考方案9】:所有答案都对我不起作用(loc: 和 @ 选项)。因此,这是我针对新 Google 地图(2014 年 4 月)的解决方案
使用 q= 进行查询描述,例如街道或地点的名称。 使用 ll= 表示经纬度坐标。
您可以添加额外的参数,例如 t=h(混合)和 z=19(缩放)
https://maps.google.com/?q=11+wall+street+new+york&ll=40.7060471,-74.0088901
https://maps.google.com/?q=new+york+stock+exchange&ll=40.7060471,-74.0088901
https://maps.google.com/?q=new+york+stock+exchange&ll=40.7060471,-74.0088901&t=h&z=19
【讨论】:
【参考方案10】:新版本查询有不同的格式
要通过 url 使用(例如)达到 lat long
https://www.google.com/maps/search/-15.924,-5.719
【讨论】:
【参考方案11】:工作正常 https://maps.google.de/maps?q=51.404989,13.091751&z=17&t=k
【讨论】:
【参考方案12】:这并不一定比为 'q' 参数传入一个值要复杂得多。谷歌毕竟是一个搜索引擎,当用户在它的文本框中输入查询时,它可以处理同样的事情
"maps.google.com?/q=32.5234,-78.23432"
【讨论】:
你是对的。谷歌已更改为以坐标而不是最近的主要对象为中心的地图。原始问题中的示例现在可以正常工作了。【参考方案13】:这可以放大一个区域,然后放下一个图钉: https://www.google.com/maps/@30.2,17.9820525,9z
参数是:
@lat,lng,zoom
【讨论】:
【参考方案14】:如果你只有度分秒,你可以在 url 上传递它们:
https://maps.google.com/maps?q=latDegrees latMinutes latSeconds longDegrees longMinutes longSeconds
用 %20 代替空格
【讨论】:
【参考方案15】:“ll”最适合我,请参阅:
http://mapki.com/wiki/Google_Map_Parameters(查询参考)
分秒转十进制应该不会太难
http://en.wikipedia.org/wiki/Decimal_degrees
对于标记,可能最好的是 ?q=Description@lat,long
【讨论】:
事情会随着时间而改变,尤其是对于像 Google 这样的敏捷团队。互联网的历史是问题之一。我不希望这个可能在 2012 年成为解决方案的答案在 2014 年、2017 年或更晚时仍会成立……对此感到抱歉。 Stack Overflow 充满了对不再存在的事物的历史引用。以上是关于我应该在 Google 地图 URL 中使用哪些参数才能转到经纬度?的主要内容,如果未能解决你的问题,请参考以下文章
我需要哪些 API 密钥才能让 cordova 应用程序使用 Google 地图?
如何使用Google API,以便将先前创建的KML文件发送到“我的Google地图”,然后获取返回的URL以显示在网页中
我想将 Latlng 值放入 Firebase 的 Google 地图中,但出现错误