diff --git a/examples/vector-features.html b/examples/vector-features.html
index 70fc34a180..62fe8e9816 100644
--- a/examples/vector-features.html
+++ b/examples/vector-features.html
@@ -49,7 +49,8 @@
strokeWidth: 3,
strokeDashstyle: "dashdot",
pointRadius: 6,
- pointerEvents: "visiblePainted"
+ pointerEvents: "visiblePainted",
+ title: "this is a green line"
};
/*
@@ -70,8 +71,8 @@
style_mark.graphicXOffset = 10; // default is -(style_mark.graphicWidth/2);
style_mark.graphicYOffset = -style_mark.graphicHeight;
style_mark.externalGraphic = "../img/marker.png";
- // graphicTitle only works in Firefox and Internet Explorer
- style_mark.graphicTitle = "this is a test tooltip";
+ // title only works in Firefox and Internet Explorer
+ style_mark.title = "this is a test tooltip";
var vectorLayer = new OpenLayers.Layer.Vector("Simple Geometry", {
style: layer_style,
diff --git a/lib/OpenLayers/Feature/Vector.js b/lib/OpenLayers/Feature/Vector.js
index 6f36fec67c..51fefe70fd 100644
--- a/lib/OpenLayers/Feature/Vector.js
+++ b/lib/OpenLayers/Feature/Vector.js
@@ -403,7 +403,8 @@ OpenLayers.Feature.Vector = OpenLayers.Class(OpenLayers.Feature, {
* graphicZIndex - {Number} The integer z-index value to use in rendering.
* graphicName - {String} Named graphic to use when rendering points. Supported values include "circle" (default),
* "square", "star", "x", "cross", "triangle".
- * graphicTitle - {String} Tooltip for an external graphic.
+ * graphicTitle - {String} Tooltip when hovering over a feature. *deprecated*, use title instead
+ * title - {String} Tooltip when hovering over a feature. Not supported by the canvas renderer.
* backgroundGraphic - {String} Url to a graphic to be used as the background under an externalGraphic.
* backgroundGraphicZIndex - {Number} The integer z-index value to use in rendering the background graphic.
* backgroundXOffset - {Number} The x offset (in pixels) for the background graphic.
diff --git a/lib/OpenLayers/Renderer/Canvas.js b/lib/OpenLayers/Renderer/Canvas.js
index feca10eef0..6453c46709 100644
--- a/lib/OpenLayers/Renderer/Canvas.js
+++ b/lib/OpenLayers/Renderer/Canvas.js
@@ -241,8 +241,9 @@ OpenLayers.Renderer.Canvas = OpenLayers.Class(OpenLayers.Renderer, {
drawExternalGraphic: function(geometry, style, featureId) {
var img = new Image();
- if (style.graphicTitle) {
- img.title = style.graphicTitle;
+ var title = style.title || style.graphicTitle;
+ if (title) {
+ img.title = title;
}
var width = style.graphicWidth || style.graphicHeight;
diff --git a/lib/OpenLayers/Renderer/SVG.js b/lib/OpenLayers/Renderer/SVG.js
index e65da76a9a..e7b19f72d1 100644
--- a/lib/OpenLayers/Renderer/SVG.js
+++ b/lib/OpenLayers/Renderer/SVG.js
@@ -239,6 +239,22 @@ OpenLayers.Renderer.SVG = OpenLayers.Class(OpenLayers.Renderer.Elements, {
setStyle: function(node, style, options) {
style = style || node._style;
options = options || node._options;
+
+ var title = style.title || style.graphicTitle;
+ if (title) {
+ node.setAttributeNS(null, "title", title);
+ //Standards-conformant SVG
+ // Prevent duplicate nodes. See issue https://github.com/openlayers/openlayers/issues/92
+ var titleNode = node.getElementsByTagName("title");
+ if (titleNode.length > 0) {
+ titleNode[0].firstChild.textContent = title;
+ } else {
+ var label = this.nodeFactory(null, "title");
+ label.textContent = title;
+ node.appendChild(label);
+ }
+ }
+
var r = parseFloat(node.getAttributeNS(null, "r"));
var widthFactor = 1;
var pos;
@@ -248,20 +264,6 @@ OpenLayers.Renderer.SVG = OpenLayers.Class(OpenLayers.Renderer.Elements, {
node.style.visibility = "hidden";
} else if (style.externalGraphic) {
pos = this.getPosition(node);
-
- if (style.graphicTitle) {
- node.setAttributeNS(null, "title", style.graphicTitle);
- //Standards-conformant SVG
- // Prevent duplicate nodes. See issue https://github.com/openlayers/openlayers/issues/92
- var titleNode = node.getElementsByTagName("title");
- if (titleNode.length > 0) {
- titleNode[0].firstChild.textContent = style.graphicTitle;
- } else {
- var label = this.nodeFactory(null, "title");
- label.textContent = style.graphicTitle;
- node.appendChild(label);
- }
- }
if (style.graphicWidth && style.graphicHeight) {
node.setAttributeNS(null, "preserveAspectRatio", "none");
}
diff --git a/lib/OpenLayers/Renderer/VML.js b/lib/OpenLayers/Renderer/VML.js
index 50c3d682a9..befb6d10b3 100644
--- a/lib/OpenLayers/Renderer/VML.js
+++ b/lib/OpenLayers/Renderer/VML.js
@@ -207,12 +207,14 @@ OpenLayers.Renderer.VML = OpenLayers.Class(OpenLayers.Renderer.Elements, {
options = options || node._options;
var fillColor = style.fillColor;
+ var title = style.title || style.graphicTitle;
+ if (title) {
+ node.title = title;
+ }
+
if (node._geometryClass === "OpenLayers.Geometry.Point") {
if (style.externalGraphic) {
options.isFilled = true;
- if (style.graphicTitle) {
- node.title=style.graphicTitle;
- }
var width = style.graphicWidth || style.graphicHeight;
var height = style.graphicHeight || style.graphicWidth;
width = width ? width : style.pointRadius*2;