如何在 OpenLayers 中使用较大图像的一部分作为标记?

发布于 2024-12-06 11:58:55 字数 217 浏览 1 评论 0原文

是否可以使用 OpenLayers 来使用较大图像的一部分作为标记?

像这样(在谷歌地图中):

var icon = new google.maps.MarkerImage(
"img/marker_sprite.png", 
new google.maps.Size(26, 44), 
new google.maps.Point(0, 44)
);

Is it possible to use part of a larger image as a marker with OpenLayers?

Like this (in google maps):

var icon = new google.maps.MarkerImage(
"img/marker_sprite.png", 
new google.maps.Size(26, 44), 
new google.maps.Point(0, 44)
);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

怎言笑 2024-12-13 11:58:56

在 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);

不幸的是,这是不可能的据我所知,因此请在图像文件中设置标记的原点,以便您可以只使用图像的一部分。好吧,你可以,但前提是你想要的部分在角落里,这不是很有帮助。

The basic recipe for adding a marker to a map in OpenLayers starts with adding a Marker layer to your map, which you can do like this:

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

Then you will need to add markers to that layer, which goes something like this:

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);

Unfortunately it's not possible, as far as I know, so set the origin for the marker within the image file so you can just use part of the image. Well you can, but only if the part you want is in the corner, which isn't very helpful.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文