我需要从使用 msa 和 msid 的谷歌地图 url 中提取经纬度数据
Posted
技术标签:
【中文标题】我需要从使用 msa 和 msid 的谷歌地图 url 中提取经纬度数据【英文标题】:I need to extract lat long data from a google maps url that uses msa and msid 【发布时间】:2015-06-02 20:35:45 【问题描述】:当包装一些网页时,我得到了一个像这样的 iframe:
<iframe frameborder="0" scrolling="no" margin margin src="http://maps.google.com/maps/ms?msa=0&hl=pt-BR&ie=UTF8&vpsrc=0&msid=206481929558161217795.0004aa2b76eb8211ac517&z=17&output=embed"></iframe>
代码的重要部分是url:
http://maps.google.com/maps/ms?msa=0&hl=pt-BR&ie=UTF8&vpsrc=0&msid=206481929558161217795.0004aa2b76eb8211ac517&z=17&output=embed
问题是:
如何从这个 google maps url 获取纬度和经度数据?
【问题讨论】:
【参考方案1】:纬度和经度不可作为该 URL 的一部分。如果您从该地图下载 KML,解压缩生成的 KMZ 文件并查看其中包含的 KML,您将看到(显示标记的坐标):
<?xml version='1.0' encoding='UTF-8'?>
<kml xmlns='http://www.opengis.net/kml/2.2'>
<Document>
<name>Untitled layer</name>
<Placemark>
<styleUrl>#icon-22</styleUrl>
<name>Residencial Buena Vista</name>
<ExtendedData>
</ExtendedData>
<Point>
<coordinates>-49.281449,-16.689937,0.0</coordinates>
</Point>
</Placemark>
<Style id='icon-22'>
<IconStyle>
<scale>1.1</scale>
<Icon>
<href>http://www.gstatic.com/mapspro/images/stock/22-blue-dot.png</href>
</Icon>
<hotSpot x='16' y='31' xunits='pixels' yunits='insetPixels'>
</hotSpot>
</IconStyle>
</Style>
</Document>
</kml>
var geocoder;
var map;
function initialize()
var myOptions =
center:
lat: 0,
lng: 0
,
zoom: 2,
mapTypeId: google.maps.MapTypeId.ROADMAP
;
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
var geoXml = new geoXML3.parser(
map: map,
singleInfoWindow: false
);
geoXml.parseKmlString(kmlData);
google.maps.event.addDomListener(window, "load", initialize);
var kmlData = '<kml><Style id="icon-22"><IconStyle><scale>1.1</scale><Icon><href>http://www.gstatic.com/mapspro/images/stock/22-blue-dot.png</href></Icon><hotSpot x="16" y="31" xunits="pixels" yunits="insetPixels"></hotSpot></IconStyle></Style><Placemark><styleUrl>#icon-22</styleUrl><name>Residencial Buena Vista</name><Point><coordinates>-49.281449,-16.689937,0.0</coordinates></Point></Placemark></kml>';
html,
body,
#map_canvas
height: 100%;
width: 100%;
margin: 0px;
padding: 0px
<script src="https://maps.googleapis.com/maps/api/js"></script>
<script src="https://geoxml3.googlecode.com/svn/branches/polys/geoxml3.js"></script>
<div id="map_canvas" style="border: 2px solid #3872ac;"></div>
【讨论】:
如何在我的代码中从该地图下载 KML(向具有该地图的页面发出获取请求的代码) ***.com/questions/28642206/…以上是关于我需要从使用 msa 和 msid 的谷歌地图 url 中提取经纬度数据的主要内容,如果未能解决你的问题,请参考以下文章