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