草庐IT

OpenStreetMap

全部标签

javascript - 如何通过传单查询立交桥面积?

我有一个带有leaflet的OpenstreetMap。我正在使用this使用Overpass查询传单的插件。varopl=newL.OverPassLayer({query:"(area['name'='Roma'];node(area)['amenity'='drinking_water']);out;",});但是当与插件一起使用时,我的map没有显示任何内容。怎么了?注意:我的查询基于this工作.编辑:此查询正在使用插件,但不适用于http://overpass-turbo.eu/?!varopl=newL.OverPassLayer({query:"(node(BBOX)[

javascript - 基于缩放级别显示 WMS 图层

我整天都在做这个,老实说,我没有主意了。我有一些WMS层,我想根据当前的缩放级别显示/不显示。是的,我已经阅读了API文档,它们似乎一如既往地清晰,但我遵循了所有建议,但没有得到想要的结果:(这是我查看的来源之一:http://trac.osgeo.org/openlayers/wiki/SettingZoomLevels然后更糟糕的是,我发现如果您有一个在加载时显示的OpenStreetMap基础层,它似乎会限制您对map的numZoomLevels的控制,这正是我所需要的,因为我确实想将其用作我的加载基础层...所以我的问题是:我做错了什么?在加载时使用OpenStreetMap基

javascript - 将 2500 个 geoJSON 多边形渲染到传单 map 上

我一直在搜索,但似乎找不到解决方案。我有一个大小为170mb的GeoJSON文件。它包含大约2500个多边形。我需要以某种方式将其呈现为传单map。显然,在那个尺寸下我没有机会。呈现此数据的最简单方法是什么?我是否能够创建一个完全透明的png,它可以简单地在世界地图上呈现。巨大的尺寸是由于多边形的复杂性和数量。在这一点上,我不需要它是交互式的。谢谢,布莱恩 最佳答案 最简单的方法是根据该数据创建您自己的map图block。有几种方法可以实现这一点,但我的建议是您使用TileMill.它是免费的,而且非常易于使用。所以,基本上你会:使

javascript - 在 Openlayers 中单击 map 外部时如何激活功能 + 弹出窗口?

我正在重新解析已经加载到map上的KML,类似于此处的示例:http://openlayers.org/dev/examples/sundials.html并将其变成一个可点击的列表,将map集中在点击的点上,并显示它的弹出窗口。这在Googlemap中确实很容易做到,但我找不到任何类似的Openlayers示例。有没有更简单的方法来做到这一点?我缺少什么内置的东西?HTML:JS:htmlRows="";for(varfeatinfeatures){//BuilddetailstablefeatId=features[feat].id;//determinethefeatureIDt

javascript - 在 Leaflet.js 或非 Google map 库中使用 Fusion Tables 磁贴?

我喜欢GoogleFusionTables可以在map上高效显示数千个标记这一事实。我的问题:是否有可能(在技术上和法律上)显示FusionTableslayer在以下任一情况下,位于OpenStreetMapmap图block之上:使用Leaflet.js带有OSMtiles和FusionTables层。我不确定这在技术上是否可行,更不用说在法律上了。将GoogleMapsAPI与FusionTableslayer结合使用和OpenStreetMap瓷砖。从技术上讲,这显然是可能的,但我不确定FusionTables结果是否必须显示在Googlemap图block上(就像Google

javascript - Openlayers 在 OpenStreetMaps 图层上圈出多边形

我正在尝试创建一个具有定义中心的圆并在其上放置一个图标标记。如果我使用图像而不是OpenLayers.Geometry.Polygon.createRegularPolygon,代码就可以工作。我无法解决它。在这里你可以找到我的代码:OpenLayersExamplemap=newOpenLayers.Map("mapdiv");map.addLayer(newOpenLayers.Layer.OSM());epsg4326=newOpenLayers.Projection("EPSG:4326");//WGS1984projectionprojectTo=map.getProject

javascript - 标准浏览器上 Leaflet 库中的最大标记数量是多少?

我在标准条件下使用Leaflet,比方说在普通PC上使用Firefox。最多同时显示多少个标记?我不需要确切的数字,只是想知道功能,接近1000点,接近10.000还是可以毫无问题地显示100k? 最佳答案 我猜边界大约是1000,因为浏览器越来越难以处理大量的小对象实例。例如,如果您从KML加载大量点对象,那么在每个JS网络map框架中都会变得相当慢。处理该问题的更好方法是使用服务器端组件来过滤对象。例如,流式传输用于低缩放级别的简化图层,并通过bbox过滤器策略流式传输当前mapView中的必要对象。

javascript - 无法使用 openlayers 3 将标记放置在正确的坐标处

我在openlayers3上工作,想实现一个搜索功能,它获取地点名称并在map上放置标记。我能够获得坐标,但是当我想在map上添加它的标记时,我总是得到不同的位置。输入地点的标记未放置在map的实际坐标上。这是我一直在研究的代码:functionaddmarker(lat,long,pointerimgsrc){variconFeature=newol.Feature({geometry:newol.geom.Point(ol.proj.transform([lat,long],'EPSG:4326','EPSG:3857')),name:'NULL'});variconStyle=n

javascript - OpenLayers.Map 在 JavaScript 中更改属性的位置

我根据JavaScript在我的站点中包含了一个OpenLayers.Map:varmap=newOpenLayers.Map();varmapnik=newOpenLayers.Layer.OSM();map.addLayer(mapnik);一切正常。期望属性的位置(OpenStreetMap贡献者)。有没有移动右下角属性的选项?这是我目前得到的: 最佳答案 您可以覆盖此组件的默认OL样式:.olControlAttribution{left:5px;}您可以前往http://dev.openlayers.org/example

javascript - 同一页面上具有相同选项的多个传单 map

我是leaflet.js的新手,我正在尝试弄清楚如何将具有相同选项和图层集的相同map分配给不同的HTML容器,而不是每次都删除和添加一个新容器时间?我曾经处理Openlayers2.13,我有map.render(div);每次我想将map设置为另一个div时的选项。是否有类似的解决方案?非常感谢! 最佳答案 可以,但必须复制图层//addanOpenStreetMaptilelayerL.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png',{attribution:'©