Asmodej
December 19, 2011, 1:21pm
#1
Вопрос такой:
На карту добавил маркер:
markers.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(30.319167,59.891389).transform(
new OpenLayers.Projection(“EPSG:4326”), // transform from WGS 1984
map.getProjectionObject() // to Spherical Mercator Projection
),icon));
Нужно чтобы под маркером был привязан небольшой DIV.
Как это можно сделать???
Asmodej
December 21, 2011, 9:13am
#2
Неужели никто не знает??? :(((
Надо копать в сторону методов draw и moveTo у маркера и их переопределения.
(это как минимум всего надо штук 5 методов подправить)
Ну или можно понаследоваться от Icon (иконка див вроде как возвращает в draw) и проделать грязный хак там.
Взять khtml.maplib вместо openlayers:
var map=khtml.maplib.Map( html-элемент для карты );
map.centerAndZoom(new khtml.maplib.LatLng(широта,долгота),зум);
var marker=new khtml.maplib.overlay.Marker({
position: new khtml.maplib.LatLng(широта,долгота),
map: map,
icon: html-элемент для маркера
});
Asmodej
December 21, 2011, 1:35pm
#5
Спасибо!
Сделал как сказал dkiselev.
Хакнул класс Marker. Там добавил свой элемент, а его добавил в icon:
this.icon.imageDiv.appendChild(el);