嗨,我需要在地图上显示一些shapefile,因为我使用geoserver,openlayers和谷歌地图V3,它的工作方式我不使用OpenLayers.Layer.Google,我可以看到我的shapefile。这是我的工作代码:
var map = new OpenLayers.Map('map');
var ghyb = new OpenLayers.Layer.Google(
"Google Hybrid",
{type: google.maps.MapTypeId.HYBRID, numZoomLevels: 30,srs:'EPSG:2077
我是使用HTML创建地图的新手,我一直在尝试添加两个矢量层(地点,点)到基础地图(道路),但我看不到地图上的矢量层。图层应以矢量叠加的形式显示在底图上。层显示在层切换器中,但不显示在屏幕上。我认为问题出在调用向量层的方式上。要显示矢量层的解决方案是什么?谢谢
var map = new OpenLayers.Map("map-id");
var roads= new OpenLayers.Layer.WMS(
"roads",
"http://localhost:8080/geoserver/wms",
{lay
Geoserver 2.5中的WFS实现出现了严重问题。
我将数据集加载到Server和PostGIS中。数据集由几个点组成,位于本机EPSG:3857中。
Geometry_Columns表是为Geoserver连接设置的,在Geoserver设置中一切似乎都很好。
但是,尝试通过OpenLayers访问WFS:
WFS1.0.0\ GET _
WFS1.0.0取经修正的PostGIS > OK
WFS1.0.0> OK
WFS1.0.0> POST > PostGIS > OK
WFS 1.0.0取回BBOX \ SQL Server >失败
WFS 1
我注意到,从OpenLayers的必应层消失在低(0)和高(20)变焦水平。我怎么才能避免呢?有可能对变焦级别施加一些限制吗?
var apiKey = "AqTGBsziZHIJYYxgivLBf0hVdrAk9mWO5cQcb8Yux8sW5M8c8opEC2lZqKR1ZZXf";
var map;
map = new OpenLayers.Map('map', {
allOverlays: false,
autoUpdateSize: true,
displayProjection: new OpenLayers.Project
目前,我正在尝试更改用户关注的矢量层的特定功能的图标。我将每个要素添加到地图中,如下所示:
var point = new OpenLayers.Geometry.Point(pt.lon, pt.lat);
var markerStyle = OpenLayers.Util.extend(OpenLayers.Feature.Vector.style['default'], {
externalGraphic: iconURL
});
var marker = new OpenLayers.Feature.Vector(point, attributes, mark
我正在做https://openlayers.org/en/latest/examples/gpx.html上提供的openlayers 5.x的GPX源代码示例。 我能够成功地加载我的GPX文件并将其显示在地图上,但我无法获得其范围以了解最小/最大纬度和经度,以便在地图上动态地适应它。 这是我的代码(与示例相同): var GpxVector = new VectorLayer({
source: new VectorSource({
url: 'https://host.domain.com/filename.gpx',
format: ne
我正在使用以下代码在地图上绘制一个点:
function addPointToMap(pMap){
var coordinates = new Array();
// Style Point
var style_blue = OpenLayers.Util.extend({}, OpenLayers.Feature.Vector.style['default']);
style_blue.strokeColor = "blue";
style_blue.fillColor = "blue";
我正在使用OpenLayers 5在同一张地图上显示两个不同的图层。我可以在地图上看到两个带有不同图标的标记。下面的代码写入了一个层的弹出窗口。现在我的问题是:如何在弹出窗口中为每个特定的层显示不同的信息。例如,当鼠标在第一个图标上时,弹出窗口应该包含第一层的名称,当鼠标在第二个不同的图标上时,它会显示第二层的名称。
我假设我应该使用map.getFeaturesAtPixel(event.pixel, function (layer1))或类似的东西,但我在那里遇到了问题。
//display the pop with on mouse over event
map.on('poin
我有一个地图,其中使用了OpenLayers来渲染地图。通过在地图上选择一个区域,我们可以找到所选区域的经度值。我在一个数据库中有数据,它定义了某个车辆的经度/经度值。我想检查车辆是否在我在地图上选择的区域内。我该如何在Java中做到这一点?
(function () {
var map, drawControls, boxLayer;
function init() {
map = new OpenLayers.Map('map');
var wmsLayer = new OpenLayers.Layer.WMS("
如何在一个组中添加两个或多个层,以便我可以在layerswitcher中看到它们,并可以选择或取消选择所有!?
下面是我的代码:
var line_1 = new OpenLayers.Layer.Vector(" Line no - 1", {
visibility: true,
projection: dproj,
strategies: [new OpenLayers.Strategy.Fixed()],
我在xyz文件夹结构中有一个磁贴服务器和一个小图像,这个图像只覆盖了世界的一部分。我已经设法阻止加载Z,一些地图上不存在的缩放级别(Stop loading a tile in OpenLayers 3 tileloadstart event)。现在我需要限制X和Y的加载,因为许多文件夹和磁贴显然是不存在的。如何做到这一点?我可以处理服务器端抛出的某种错误,使OpenLayers明白不再请求这些磁贴,因为它们不存在吗?如果是这样,如何做到这一点?
我想将"EPSG:900913“设置为OpenLayers地图的投影,但当我尝试时,总是得到"EPSG:4326”。
function init() {
var options = {
projection: new OpenLayers.Projection("EPSG:4326") // ignored
};
map = new OpenLayers.Map('map', options);
var layer = new OpenLayers.Layer.OSM.Osmaren
我有一张地图,上面显示了一个带有一些标记的KML向量层。当你点击标记时,它会弹出一个信息框。我希望能够自动弹出一个信息框,基于传递到页面中的参数。我认为我需要使用getFeaturesByAttribute()来查找名称,但是features数组似乎总是空的。(虽然我在使用FireBug时可以看到内容)
我需要做什么来获取数组中的项?
代码:
function init()
{
var options = {
projection: new OpenLayers.Projection("EPSG:900913"),
我正在尝试检测地图视图中看到的所有图层(OpenLayers 3)。我尝试过这种方法,但它只对一个像素有效。
map.forEachLayerAtPixel(evt.pixel, function(layer){
// And I edit the layer...
});
有没有什么函数可以让我这样做?
谢谢。
我已经做了一整天了,老实说,我已经没有主意了。我有一些WMS图层,我希望根据当前缩放级别显示/不显示这些图层。是的,我已经看过了API文档,它们看起来很清楚,但我遵循了所有建议,但我没有得到想要的结果:(
这是我看过的来源之一:
更糟糕的是,我发现如果你有一个在加载时显示的开放街道地图基础图层,它似乎限制了你对地图的numZoomLevels的控制,这正是我需要的,因为我确实想使用它作为我的加载基础图层……
所以我的问题是:
我做错了什么?在加载时使用Open Street Map基础图层时,真的没有解决缩放级别控制的方法吗?还是有什么我不知道的?
以下是我的一些代码尝试: Take 1: t
我在编辑WFS层时遇到问题。编辑对象后,我保存了一个对象,但出现了一些错误。在保存对象的几何体被破坏后。尝试在GEoservers图层预览中查看图层,但找不到已编辑的对象。
这是我的代码。
if(counter==0){
if(ppp==null){
if (edit==null){
edit = new OpenLayers.Control.ModifyFeature(myVecLayer);