- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在关注 OpenGeo 的 OpenLayers 教程,并且正在努力处理读取地震位置的 GeoRSS 编码 XML 文件的矢量图层 - 这似乎在此类教程中被大量使用。 map 产生一个点(在 0,0),仔细检查它似乎是文件中的所有点堆叠在彼此的顶部,所以很明显在 XML 和 OpenLayers 中的点转换之间出现了问题。
这是代码:
var geographic = new OpenLayers.Projection("EPSG:4326");
var mercator = new OpenLayers.Projection("EPSG:900913");
var world = new OpenLayers.Bounds(-180, -89, 180, 89).transform(
geographic, mercator
);
var center = new OpenLayers.LonLat('.$centerMapLat.','.$centerMapLon.').transform(
geographic, mercator
);
var options = {
projection: mercator,
units: "m",
maxExtent: world
};
var map = new OpenLayers.Map("map-id", options);
var osm = new OpenLayers.Layer.OSM();
map.addLayer(osm);
map.addControl(new OpenLayers.Control.LayerSwitcher());
map.setCenter(center, 2);
var mapdata = new OpenLayers.Layer.Vector("Map Data", {
strategies: [new OpenLayers.Strategy.Fixed()],
protocol: new OpenLayers.Protocol.HTTP({
url: "7day-M2.5.xml",
format: new OpenLayers.Format.GeoRSS()
})
});
map.addLayer(mapdata);
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:georss="http://www.georss.org/georss">
<updated>2012-01-23T09:43:22Z</updated>
<title>USGS M 2.5+ Earthquakes</title>
<subtitle>Real-time, worldwide earthquake list for the past 7 days</subtitle>
<link rel="self" href="http://earthquake.usgs.gov/earthquakes/catalogs/7day-M2.5.xml"/>
<link href="http://earthquake.usgs.gov/earthquakes/"/>
<author><name>U.S. Geological Survey</name></author>
<id>http://earthquake.usgs.gov/</id>
<icon>/favicon.ico</icon>
<entry>
<id>urn:earthquake-usgs-gov:ak:10395995</id>
<title>M 2.7, Alaska Peninsula</title>
<updated>2012-01-23T09:38:43Z</updated>
<link rel="alternate" type="text/html" href="http://earthquake.usgs.gov/earthquakes/recenteqsww/Quakes/ak10395995.php"/>
<summary type="html">
<![CDATA[<img src="http://earthquake.usgs.gov/images/globes/60_-155.jpg" alt="57.806°N 156.412°W" align="left" hspace="20" />
<p>Monday, January 23, 2012 09:38:43 UTC<br>Monday, January 23, 2012 12:38:43 AM at epicenter</p>
<p><strong>Depth</strong>: 122.70 km (76.24 mi)</p>]]></summary><georss:point>57.8058 -156.4123</georss:point>
<georss:elev>-122700</georss:elev>
<category label="Age" term="Past hour"/>
</entry>
[:]
</feed>
<circle id="OpenLayers.Geometry.Point_424"
cx="4.738678387182473" cy="237.58907791425827"
r="6" fill="#ee9900" fill-opacity="0.4" stroke="#ee9900" stroke-opacity="1" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="none" pointer-events="visiblePainted" cursor="inherit">
最佳答案
问题是,虽然 map 和背景层(OSM)的投影是“EPSG:900913”,但您从 GeoRSS 加载的点在“EPSG:4326”中。
EPSG:900913 坐标看起来像这样:20037508、20037508。在 EPSG:4326 中,坐标范围在 -180 到 180 之间,这就是为什么 map 上的所有点似乎都在 0,0 左右。
解决方案是通过在创建矢量图层时指定投影来重新投影 GeoRSS 点:
var mapdata = new OpenLayers.Layer.Vector("Map Data", {
strategies: [new OpenLayers.Strategy.Fixed()],
protocol: new OpenLayers.Protocol.HTTP({
url: "7day-M2.5.xml",
format: new OpenLayers.Format.GeoRSS()
}),
projection: geographic
});
关于OpenLayers GeoRSS 解析 - 所有点都在彼此之上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8970819/
我正在关注 OpenGeo 的 OpenLayers 教程,并且正在努力处理读取地震位置的 GeoRSS 编码 XML 文件的矢量图层 - 这似乎在此类教程中被大量使用。 map 产生一个点(在 0,
我是 geoRss 的新手。 我们如何编写 geoRss 提要。我在 mysql 数据库中有我的经纬度值和一些其他字段,我想将它们添加到 geoRss 提要中。 感谢和问候,阿希什 最佳答案 试试这个
我正在组合一个 XSD 模式来描述现有的 GeoRSS 提要,但我在尝试使用外部 georss.xsd 来验证 georss:point 类型的元素时遇到了麻烦。因此,我已将问题减少到最小的组件: X
尝试从谷歌地图 rss 提要中解析出纬度/经度: $file = "http://maps.google.com/maps/ms?ie=UTF8&hl=en&vps=1&jsv=327b&msa=0&
在我的程序中,我每 10 秒从一个网站获取 GeoRSS。只要没有新项目添加到 GeoRSS 提要,该程序就可以正常工作(即我可以正确获取和解析 rss - 当现有 rss 项目的元素更改其值时也是如
我有一个非常简单的页面,用于显示 map 并基于GeoRSS XML 文件中的点。这是可公开访问的文件。 http://68.178.230.189/georssimport.html Firefox
我有一个 GeoRSS 提要,我正在尝试使用 jQuery 对其进行解析以创建一个 geoJSON 数组,然后我可以使用 Leaflet 将其添加到 MapBox map 中。 我想我已经成功地将 G
我已经在 Google Map API v3 上导入了用于构建的城市供稿。不幸的是,默认颜色是蓝色,无法传达构建所需的“小心”。有没有一种简单的方法可以更改 GeoRSS 叠加层的颜色?谢谢! 最佳答
我是一名优秀的程序员,十分优秀!