是否可以将较大图像的一部分用作OpenLayers的标记?
像这样(在谷歌地图中):
var icon = new google.maps.MarkerImage(
"img/marker_sprite.png",
new google.maps.Size(26, 44),
new google.maps.Point(0, 44)
);
答案 0 :(得分:1)
在OpenLayers中向地图添加标记的基本方法首先在地图中添加标记图层,您可以这样做:
var markers = new OpenLayers.Layer.Markers("Markers");
map.addLayer(markers);
然后您需要在该图层中添加标记,如下所示:
var position = new OpenLayers.LonLat(longitude, latitude);
position.transform(new OpenLayers.Projection("EPSG:4326",
map.getProjectionObject());
var icon = new OpenLayers.Icon("img/marker_sprite.png",
new OpenLayers.Size(26, 44));
var marker = new OpenLayers.Marker(position, icon);
markers.addMarker(marker);
不幸的是,据我所知,这是不可能的,所以在图像文件中设置标记的原点,这样你就可以使用部分图像。嗯,你可以,但只有你想要的部分在角落,这不是很有帮助。