- this.map.zoomToExtent(extent);
- document.observe('simplebox:shown', this.observer.bindAsEventListener(this));
- SYJPathLength.update();
-
- if (window.FileList && window.FileReader) {
- $("map").observe("dragenter", function(evt) { evt.stop();});
- $("map").observe("dragover", function(evt) { evt.stop();});
- $("map").observe("drop", function(evt) {
- evt.stop();
- if (this.mode !== "view" || this.viewLayer.features.length) {
- return;
- }
- if (!evt.dataTransfer.files.length) {
- return;
- }
- var file = evt.dataTransfer.files[0];
- var reader = new FileReader();
- var readerror = function() {
- this.messenger.setMessage(SyjStrings.dragFileError, "warn");
- }.bind(this);
- reader.onload = function(evt) {
- if (evt.error) {
- readerror();
- return;
- }
-
- var results = null;
- var content = evt.target.result;
-
- var engine;
- var formats = ['KML', 'GPX'];
-
- for (var i = 0; i < formats.length; i++) {
- engine = new OpenLayers.Format[formats[i]]({ internalProjection: Mercator, externalProjection: WGS84 });
- try {
- results = engine.read(content);
- } catch(e) {
- }
- if (results || results.length) {
- continue;
- }
- }
- if (!results || !results.length) {
- readerror();
- return;
- }