[英]How can I use part of a larger image as a marker in OpenLayers?
OpenLayers是否可以將較大圖像的一部分用作標記?
像這樣(在Google地圖中):
var icon = new google.maps.MarkerImage(
"img/marker_sprite.png",
new google.maps.Size(26, 44),
new google.maps.Point(0, 44)
);
在OpenLayers中向地圖添加標記的基本方法是從向地圖添加Marker圖層開始,您可以這樣操作:
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);
不幸的是,據我所知,這是不可能的,因此請在圖像文件中設置標記的原點,以便僅使用圖像的一部分。 可以,但是只有當您想要的部分在角落時,這不是很有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.