簡體   English   中英

如何在OpenLayers中使用較大圖像的一部分作為標記?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM