[Mapbender-commits] r5982 - trunk/mapbender/http/plugins
svn_mapbender at osgeo.org
svn_mapbender at osgeo.org
Tue Apr 20 04:55:19 EDT 2010
Author: christoph
Date: 2010-04-20 04:55:19 -0400 (Tue, 20 Apr 2010)
New Revision: 5982
Modified:
trunk/mapbender/http/plugins/mb_digitize_geometry.js
Log:
Modified: trunk/mapbender/http/plugins/mb_digitize_geometry.js
===================================================================
--- trunk/mapbender/http/plugins/mb_digitize_geometry.js 2010-04-20 08:54:58 UTC (rev 5981)
+++ trunk/mapbender/http/plugins/mb_digitize_geometry.js 2010-04-20 08:55:19 UTC (rev 5982)
@@ -2,14 +2,15 @@
var DigitizeApi = function () {
var that = this;
- var geom;
- var settings = {
+ var featureCollection = new GeometryArray();
+ var defaults = {
geometryType: "point"
};
- settings = $.extend({}, settings, options);
+ var settings = $.extend(defaults, options);
this.events = {
finished: new Mapbender.Event(),
+ aborted: new Mapbender.Event(),
added: new Mapbender.Event(),
mousemove: new Mapbender.Event()
};
@@ -20,12 +21,12 @@
var setPoint = function (e) {
var map = $(this).mapbender();
- var pt = map.getMousePosition(e);
+ var pt = map.getPos(e);
var coord = map.convertPixelToReal(pt);
- geom.get(-1).setEpsg(map.getSrs());
+ featureCollection.getGeometry(-1, -1).setEpsg(map.getSrs());
- // add snapping!
- geom.get(-1).addPoint(coord);
+ // TODO: add snapping!
+ featureCollection.getGeometry(-1, -1).addPoint(coord);
that.events.added.trigger({
point: coord
@@ -43,24 +44,25 @@
off: options.src,
name: options.id,
go: function () {
- geom = new MultiGeometry(settings.geometryType);
- geom.addGeometry();
+ featureCollection.addMember(settings.geometryType);
+ featureCollection.get(-1).addGeometry();
options.$target.bind("click", setPoint);
options.$target.bind("mousemove", mousemove);
},
stop: function () {
- if (geom !== undefined) {
- if (!geom.get(-1).close()) {
+ if (featureCollection.count() > 0) {
+ if (!featureCollection.getGeometry(-1, -1).close()) {
new Mapbender.Exception("Geometry could not be created.");
+ that.events.aborted.trigger();
}
else {
- var json = geom.toString();
+ var json = featureCollection.toString();
that.events.finished.trigger({
- feature: json
+ featureCollection: json
});
}
- geom = undefined;
+ featureCollection.empty();
}
options.$target.unbind("click", setPoint);
options.$target.unbind("mousemove", mousemove);
@@ -71,11 +73,11 @@
$digitize.mapbender(new DigitizeApi());
$digitize.mapbender().events.finished.register(function (obj) {
- console.log(obj.feature);
+ console.log(obj);
});
$digitize.mapbender().events.mousemove.register(function (obj) {
- console.log(obj);
+// console.log(obj);
});
$digitize.mapbender().events.added.register(function (obj) {
- console.log(obj.point);
+// console.log(obj);
});
More information about the Mapbender_commits
mailing list