Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在OpenLayers中设置自定义标记文件_Javascript_Openlayers - Fatal编程技术网

Javascript 在OpenLayers中设置自定义标记文件

Javascript 在OpenLayers中设置自定义标记文件,javascript,openlayers,Javascript,Openlayers,我的GitHub Pages帐户上有一个OpenLayers地图。我的目标是在地图上显示标记。当前未加载图像,因为marker.png文件的宿主不正确。如果你想看,这是我的地图: 我已经介绍了几个如何上传自定义标记文件的示例。和。没用。我真的不知道如何使用OpenLayers——我只是复制了代码并尽可能地修改了它。我在代码中添加了var size、offset&&icon和icon.clone()行,试图呈现自定义标记。但它不起作用,甚至在我的本地主机上也不起作用。我只是得到了“图像未加载”图标

我的GitHub Pages帐户上有一个OpenLayers地图。我的目标是在地图上显示标记。当前未加载图像,因为marker.png文件的宿主不正确。如果你想看,这是我的地图:

我已经介绍了几个如何上传自定义标记文件的示例。和。没用。我真的不知道如何使用OpenLayers——我只是复制了代码并尽可能地修改了它。我在代码中添加了
var size、offset&&icon
icon.clone()
行,试图呈现自定义标记。但它不起作用,甚至在我的本地主机上也不起作用。我只是得到了“图像未加载”图标,我的每个标记应该在那里

这是我的密码:

// breweries is a batch of API requests waiting to resolve
Promise.all(breweries)
                .then(r => {
                    // console.log("R:", r); // an array of arrays
                    breweries = r;
                })
                .then(() => {
                    map = new OpenLayers.Map("mapdiv");
                    map.addLayer(new OpenLayers.Layer.OSM());

                    markersList = [];

                    for (let i = 0; i < breweries.length; i++) {
                        const listOfFifty = breweries[i];
                        for (let j = 0; j < listOfFifty.length; j++) {
                            if (
                                listOfFifty[j].longitude !== null &&
                                listOfFifty[j].latitude !== null
                            ) {
                                let point = new OpenLayers.LonLat(
                                    listOfFifty[j].longitude,
                                    listOfFifty[j].latitude
                                ).transform(
                                    new OpenLayers.Projection("EPSG:4326"), // transform from WGS 1984
                                    map.getProjectionObject() // to Spherical Mercator Projection
                                );
                                markersList.push(point);
                            }
                        }
                    }

                    // upload a new marker image...
                    var size = new OpenLayers.Size(21, 25);
                    var offset = new OpenLayers.Pixel(-(size.w / 2), -size.h);
                    var icon = new OpenLayers.Icon("/marker.png", size, offset);

                    var zoom = 6;

                    var markers = new OpenLayers.Layer.Markers("Markers");
                    map.addLayer(markers);

                    for (let i = 0; i < markersList.length; i++) {
                        markers.addMarker(
                            // set the new marker...
                            new OpenLayers.Marker(markersList[i], icon.clone())
                        );
                    }

                    var testMarker = new OpenLayers.LonLat(
                        -120.2146488,
                        35.905002
                    ).transform(
                        new OpenLayers.Projection("EPSG:4326"), // transform from WGS 1984
                        map.getProjectionObject() // to Spherical Mercator Projection
                    );

                    markers.addMarker(
                        new OpenLayers.Marker(testMarker, icon.clone())
                    );

                    map.setCenter(testMarker, zoom);
                });
//breweries是一批等待解析的API请求
承诺。所有(啤酒厂)
.然后(r=>{
//log(“R:,R);//数组的数组
啤酒厂=r;
})
.然后(()=>{
map=新的OpenLayers.map(“mapdiv”);
addLayer(新的OpenLayers.Layer.OSM());
markersList=[];
for(设i=0;i
marker.png的完整路径是什么?C:\Users\Roland\dir2\u JS\opslevel\u two\marker.pngIt在我的本地主机上工作,但在github页面上仍然不工作。谢谢你的努力