繁体   English   中英

openlayers 从 WKT 创建标记(带图标的功能)

[英]openlayers create marker (feature with icon) from WKT

我有一个点对象 WKT。 像这样: POINT (25.04568 48.221548) 我的项目文件夹中还有一个图标。

我的目标是在地图上显示代表特征的图标。 它可以只是一个普通的 OpenLayers 功能(如果是,那么我如何定义它应该代表和图标)还是我需要创建一个 OpenLayers 标记(以某种方式从 WKT 创建 LonLat)?

如果您有把握,添加图标相当容易。

只需查看此页面的 javascript 源代码: OpenLayers 示例标记页面

OpenLayers 示例页面

需要记住的一个重要部分是,如果您使用图标,如果需要多次显示,则必须在其上使用 .clone()。 上面示例中的代码片段:

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

var size = new OpenLayers.Size(21,25);
var offset = new OpenLayers.Pixel(-(size.w/2), -size.h);
var icon = new OpenLayers.Icon('http://www.openlayers.org/dev/img/marker.png',size,offset);
markers.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(0,0),icon));

var halfIcon = icon.clone();
markers.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(0,45),halfIcon));

marker = new OpenLayers.Marker(new OpenLayers.LonLat(90,10),icon.clone());
..."

在你的点对象上是这样的:

point.transform(
    new OpenLayers.Projection("EPSG:900913"), //from
    map.getProjectionObject()  //to
   );

当然,您需要知道您的点投影是什么。 那里有很多例子。

openlayers 中的投影和 OpenLayers.Geometry.Point

球面墨卡托 - OpenLayers 库文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM