Фальшивый маркер openlayers (функция со значком) от WKT

У меня есть точечный объект WKT. Как это: POINT (25.04568 48.221548), Также у меня есть значок в папке моего проекта.

Моя цель - показать на карте значок, представляющий объект. Может ли это быть просто обычная функция OpenLayers (если да, то как я могу определить, что она должна представлять и значок) или мне нужно создать маркер OpenLayers (каким-то образом создать LonLat из WKT)?

Отлично, если кто-нибудь покажет, как это сделать.

1 ответ

Довольно просто добавить значок, если у вас есть точка.

Просто посмотрите исходный код 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.Geometry.Point в openlayers

Сферический Меркатор - документация библиотеки OpenLayers

Другие вопросы по тегам