来自WKT的openlayers作弊标记(带图标的功能)

时间:2013-07-03 19:46:47

标签: javascript openlayers point markers wkt

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

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

如果有人说明如何做到这一点很好。

1 个答案:

答案 0 :(得分:0)

如果你有意见,可以很容易地添加一个图标。

只需查看此页面的javascript源代码: OpenLayers example markers page

OpenLayers examples page

要记住的一个重要部分是,如果您使用图标,则必须在其上使用.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
   );

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

Projections and OpenLayers.Geometry.Point in openlayers

Spherical Mercator - OpenLayers Library Documentation